代码之家  ›  专栏  ›  技术社区  ›  Abe Miessler

什么是微软。合同,它来自哪里?

  •  6
  • Abe Miessler  · 技术社区  · 14 年前

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

    无法加载文件或程序集 'microsoft.contracts,版本=1.0.0.0, 文化=中性, publicKeyToken=736440C9B414EA16'或 它的一个依赖项。系统 找不到指定的文件。

    我已经搜索了我的解决方案,但在任何地方都没有引用。这是从哪里来的?

    4 回复  |  直到 13 年前
        1
  •  4
  •   as-cii    14 年前

    Microsoft.合同( CodeContracts )是包含“提供语言不可知的方式来在.NET程序中表示编码假设”的方法的程序集。

    可能是某个外部程序集正在搜索此程序集。

        2
  •  3
  •   Brock Adams    13 年前

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

        3
  •  2
  •   Noldorin    14 年前

    Microsoft.Contracts 是的主要组件 Microsoft Code Contracts 系统。如果您的实际代码没有使用它,它很可能被引用的库使用。

    理论上,您应该能够删除与之相关的所有代码,并且您的程序应该运行相同的代码。它毕竟只是一种执行实践和帮助测试的方法。实际上,我不太确定…

    代码合同提供 语言不可知的表达方式 在.NET程序中对假设进行编码。 合同的形式为 先决条件、后决条件和 对象不变量。合同作为 检查外部文件 以及内部API。合同是 用于通过运行时改进测试 检查,启用静态协定 验证和文件 世代。代码合同带来 合同设计的优势 编程到所有.NET编程 语言。我们目前提供三个 工具:

    完整版仅在vs 2010高级版/终极版中提供,但显然您可以为vs的其他版本获得“标准版”。

        4
  •  0
  •   Korayem Praphul Katlana    14 年前

    你可以在这里找到图书馆 C:\程序文件\引用程序集\microsoft\framework.netframework\v4.0\mscorlib.dll