我刚刚升级到 Visual Studio 2010 并安装了代码合同 msi。当我尝试使用它时,我得到一个编译器错误,即 system.diagnostics.contracts.contract dll 存在于 v3.5 和 v4 框架中。有谁知道我应该怎么做才能解决这个问题?谢谢。
问问题
1761 次
2 回答
10
如果要将使用合同的 .NET 3.5 项目升级到 .NET 4.0,请确保删除对Microsoft.Contracts
程序集的引用。
该Microsoft.Contracts
程序集提供了在 .NET 2.0 或 3.5 项目中使用的代码协定,但在 .NET 4.0 中默认提供mscorlib
,因此您不需要它。它们都共享System.Diagnostics.Contracts
命名空间,因此通过同时引用两者,编译器无法确定您正在尝试使用哪一个。
于 2010-08-17T00:58:49.050 回答
0
我通过首先安装它来解决它,你实际上并没有解决它。然后删除了引用,然后我将项目版本更改为 4.5,之后,它工作了。
于 2016-03-08T14:56:17.193 回答