什么是Microsoft.Contracts以及它来自哪里?

时间:2010-11-22 19:11:55

标签: .net

我有一个自定义SharePoint作业,它在尝试运行时出错。当我看到错误时,我看到了:

  

无法加载文件或程序集   'Microsoft.Contracts,Version = 1.0.0.0,   文化=中性,   PublicKeyToken = 736440c9b414ea16'或   其中一个依赖项。系统   找不到指定的文件。

我搜索过我的解决方案,并没有任何参考。这可能来自哪里?

4 个答案:

答案 0 :(得分:4)

Microsoft.Contracts(CodeContracts)是一个程序集,其中包含“提供与语言无关的方式来表达.NET程序中的编码假设”。

也许有些外部装配正在搜索这个。

答案 1 :(得分:3)

如果您使用的是.NET 3.5或更早版本,则需要添加对Microsoft.Contracts.dll的引用,该引用安装在: %PROGRAMFILES%/Microsoft/Contracts/PublicAssemblies

答案 2 :(得分:2)

Microsoft.ContractsMicrosoft Code Contracts系统的主要程序集。如果您的实际代码没有使用它,它可以被引用的库使用。

理论上,您应该能够删除与其相关的所有代码,并且您的程序应该运行相同的代码。毕竟这只是一种强制实践和帮助测试的方式。在实践中,我不太确定......

  

代码合同提供了一个   语言无关的表达方式   .NET程序中的编码假设。   合同采取的形式   前提条件,后置条件和   对象不变量。合同充当   检查外部文件   和内部API。合同是   用于通过运行时改进测试   检查,启用静态合同   验证和文档   代。代码合同带来了   合同设计的优点   编程到所有.NET编程   语言。我们目前提供三种   工具:

完整版仅适用于VS 2010 Premium / Ultimate,但显然您可以获得其他版本VS的“标准版”。

答案 3 :(得分:0)

您可以在这里找到图书馆 C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ mscorlib.dll