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

最佳答案

如果要将使用合同的.NET 3.5项目升级到.NET 4.0,请确保删除对Microsoft.Contracts程序集的引用。
Microsoft.Contracts程序集提供了可在.NET 2.0或3.5项目中使用的代码协定,但是默认情况下,.net 4.0在mscorlib中提供了代码协定,因此您不需要它。它们都共享System.Diagnostics.Contracts命名空间,因此,通过同时引用这两个名称空间,编译器将无法确定您要使用哪一个。

10-06 12:35