3

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

4

2 回答 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 回答