system.diagnostics.contracts.contract存在于v4.0 v3.5中

时间:2010-08-17 00:28:59

标签: visual-studio-2010 code-contracts

我刚刚升级到visual studio 2010并安装了代码合同msi。当我尝试使用它时,我得到一个编译器错误,即v3.5和v4框架中都存在system.diagnostics.contracts.contract dll。有谁知道我该怎么做才能解决这个问题?感谢。

2 个答案:

答案 0 :(得分:10)

如果要升级使用.NET 4.0合同的.NET 3.5项目,请确保删除对Microsoft.Contracts程序集的引用。

Microsoft.Contracts程序集提供了在.NET 2.0或3.5项目中使用的代码契约,但默认情况下在mscorlib中提供了.NET 4.0,因此您不需要它。它们都共享System.Diagnostics.Contracts命名空间,因此通过同时引用两者,编译器无法确定您尝试使用哪一个。

答案 1 :(得分:0)

我首先安装它解决了它,你实际上没有解决它。 然后删除了引用,然后我将项目版本更改为4.5,然后,它工作。

相关问题