不久前,我分叉了一个项目,并进行了一些更改。其中一些更改被拉回到原始项目中,而某些则没有。
其他人叉了我的叉子,因为他们发现没有拉到原始有用的更改。
现在,我想再次分叉原始项目,因为我还想做出更多更改。
我不想删除原始的分叉,因为它有一些有用的东西,但是我想再次分叉以进行最新更改。
我可以这样做吗?
如果我有这样的POCO:
[Poco]
public class MyPoco
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
......它的初始化如下:
new MyPoco { FirstName = "Joe", LastName="Bloggs", Address="123 Abc St." }
Run Code Online (Sandbox Code Playgroud)
我是否可以在NDepend中使用CQL,确保只使用上面的对象初始化程序设置属性,而不是单独设置.
我正试图抓住这样的代码:
myPoco.FirstName="John";
doSomething(myPoco);
Run Code Online (Sandbox Code Playgroud)
...我不希望人们在现有的POCO上设置属性.我理解我可以创建setter private
,但我不喜欢传入构造函数中的所有属性,因为你最终会得到一个签名MyPoco(string, string, string)
- 使得更容易错位参数(比使用对象初始化语法更容易)
所以,我想用NDepend来捕获它.这是我的CQL查询的开始:
from f in JustMyCode.Fields.Where(f=>
f.ParentType.HasAttribute ("JetBrains.Annotations.PocoAttribute".AllowNoMatch()))
where f.MethodsAssigningMe [I'M STUMPED HERE]
Run Code Online (Sandbox Code Playgroud)
看起来我可以分析设置POCO属性的方法,但是我需要更低一步并检查代码块以查看它是否在对象初始化块中.
这可能吗?
我糊涂了.我们最近将项目升级到.NET 4.5.1.我们在服务器上安装了.NET 4.5.1.
我正在引用System.Threading.Tasks.Dataflow
GAC的汇编C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Threading.Tasks.Dataflow\v4.0_4.5.9.0__b03f5f7f11d50a3a\System.Threading.Tasks.Dataflow.dll
CopyLocal
设置为false,因为(我假设)它是Framework的一部分,因此应该已经安装在部署应用程序的任何位置.
问题是,当在服务器上运行时,它说它找不到这个程序集.
我读过这里即是 .NET框架4.5的一部分:
但是这个库现在内置了.NET 4.5.
......我在这里读到它不是!
TPL数据流库(System.Threading.Tasks.Dataflow命名空间)不随.NET Framework 4.5一起分发
是什么赋予了?它看起来不像.它只是'目标包'的一部分吗?是我,或者这些就地升级是否比它们的价值更具农业价值?!