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