C# 如果代码契约不是';没有安装?

C# 如果代码契约不是';没有安装?,c#,.net,msbuild,code-contracts,C#,.net,Msbuild,Code Contracts,My csproj使用定义了一个构建配置“Debug plus” 痕迹;调试;合同已满 真的 如果有人试图在未安装代码契约的情况下在此配置中构建项目,会发生什么情况 理想情况下,我希望他们看到一个错误,并显示一条解释如何安装代码契约的消息。最糟糕的情况可能是生成成功,但在运行时没有检查代码契约,因此测试在不同的计算机上给出不同的结果。如果将CodeContracts用作NuGet包,则在没有CodeContracts包的计算机上生成将失败。他们将看到如下错误: Build FAILED.

My csproj使用定义了一个构建配置“Debug plus”


痕迹;调试;合同已满
真的
如果有人试图在未安装代码契约的情况下在此配置中构建项目,会发生什么情况


理想情况下,我希望他们看到一个错误,并显示一条解释如何安装代码契约的消息。最糟糕的情况可能是生成成功,但在运行时没有检查代码契约,因此测试在不同的计算机上给出不同的结果。

如果将CodeContracts用作NuGet包,则在没有CodeContracts包的计算机上生成将失败。他们将看到如下错误:

Build FAILED. "c:\src\MyProj.csproj" (default target) (1) -> (EnsureNuGetPackageBuildImports target) -> c:\src\MyProj.csproj(302,5): error : This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\CodeContracts.MSBuild.1.7.10908.1101-beta\build\CodeContracts.MSBuild.targets. 0 Warning(s) 1 Error(s) 生成失败。 “c:\src\MyProj.csproj”(默认目标)(1)-> (确保UnsureUngetPackageBuildImports目标)-> c:\src\MyProj.csproj(302,5):错误:此项目引用NuGet包 这台计算机上缺少的。启用NuGet包还原以下载 他们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105. 缺少的文件是..\packages\codecontracs.MSBuild.1.7.10908.1101-beta\build\codecontracs.MSBuild.targets。 0个警告 1个错误
如果要自定义错误消息,请在文本编辑器中打开.csproj文件,并修改target
EnsureNuGetPackageBuildImports
。添加安装CodeContracts软件包所需的特定步骤可能是个好主意。

可能重复我在StackOverflow上回答的问题:您的csproj文件是什么?我没有使用Nuget。@ColonelPanic,我的回答仅适用于将CodeContracts作为Nuget包安装的情况。抱歉搞混了。 Build FAILED. "c:\src\MyProj.csproj" (default target) (1) -> (EnsureNuGetPackageBuildImports target) -> c:\src\MyProj.csproj(302,5): error : This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\CodeContracts.MSBuild.1.7.10908.1101-beta\build\CodeContracts.MSBuild.targets. 0 Warning(s) 1 Error(s)