visual-studio-2010 - system.diagnostics.contracts.contract 在 v4.0 v3.5 中都存在

标签 visual-studio-2010 code-contracts

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

最佳答案

如果您要将使用契约(Contract)的 .NET 3.5 项目升级到 .NET 4.0,请确保删除对 Microsoft.Contracts 程序集的引用。

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

关于visual-studio-2010 - system.diagnostics.contracts.contract 在 v4.0 v3.5 中都存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498461/

相关文章:

c# - 以声明方式添加代码契约(也许使用 Postsharp?)

c# - 捕获的 .NET 异常意外为空

parameters - 非默认构造函数中的IOC容器处理状态参数

visual-studio-2010 - 如何使用 VS 或 Power Tool 从光标处删除直到行尾

c# - 在 Windows 窗体中隐藏标签需要 244 毫秒

c# - 无法转换类型为“System.__ComObject”的 COM 对象

c++ - 如何在没有安装 CUDA 工具包的机器上运行编译后的 CUDA 代码?

visual-studio-2010 - VS 2010 中的远程调试失败

c# - 继承接口(interface)时如何将实现添加到接口(interface)代码契约

.net - .NET 4.0 中代码契约的实际用途是什么?