【发布时间】:2010-11-27 10:53:51
【问题描述】:
这个堆栈溢出问题:
Microsoft Code Contracts and CI build server
询问如何在不安装 Visual Studio 2010 的情况下让代码合同在构建服务器上运行。我们正在尝试做同样的事情。我们已按照接受的答案中概述的步骤进行操作,但无法使其正常工作。
除非存在 Visual Studio,否则 CodeContracts 不会安装在构建服务器上。所以按照建议,我们做了以下事情:
- 我们将
%programfiles%\Microsoft\Contracts\Bin的内容从安装了 Visual Studio 2010 Ultimate 和 Code Contracts Premium 的开发计算机复制到构建服务器。 - 我们还复制了包含
Microsoft.CodeContracts.targets和Microsoft.CodeContractAnalysis.targets的MSBuild\v4.0文件夹。
根据 CodeContracts 文档,
在使用通过 VS 用户界面启用的合同的项目或解决方案上使用 msbuild 将执行与 VS 下相应构建相同的操作。
这是我们的用例,我们只是在我们的解决方案文件上调用 MSBuild,如下所示。解决方案文件是通过 Visual Studio 创建的,其中配置了所有预期的代码协定选项以进行重写。
<Target Name="Release">
<MSBuild Projects = "Cofamilies\WebApplication\CofamiliesWeb.sln" Properties="Configuration=Release" />
</Target>
但是重写器没有被调用。
是否有人对我们缺少的内容和/或建议的故障排除步骤提出建议?
【问题讨论】:
标签: visual-studio-2010 msbuild teamcity code-contracts