FXcop 和 Msbuild 与 CruiseControl.NET
Posted
技术标签:
【中文标题】FXcop 和 Msbuild 与 CruiseControl.NET【英文标题】:FXcop and Msbuild with CruiseControl.NET 【发布时间】:2011-06-20 13:57:42 【问题描述】:我是新手,请多多包涵。我想知道如何让 MSbuild 和 FXcop 通宵运行,如果他们没有完成就失败了,我会通知用户。我被告知它们都可以集成到 CruiseControl.NET 中。我目前打算看看 CruiseControl.NET 是否有能力通知用户构建失败。 (由于错误只完成了一半)。如果有人能够轻松地做到这一点,那么如果您能引导我思考或引导我查看文档,那就太好了。
感谢您抽出宝贵时间,丹尼斯·海登。 睡觉
【问题讨论】:
【参考方案1】:您可以使用<MsBuild>
任务来构建您的项目。 MsBuild 在任务部分中可用。
<msbuild>
<executable>
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe
</executable>
<workingDirectory>
project path
</workingDirectory>
<projectFile>project.sln</projectFile>
<buildArgs>
/noconsolelogger
/p:Configuration=Release
</buildArgs>
<targets>Build</targets>
<timeout>900</timeout>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
在任务部分有一个<exec>
标签,可以用来运行FxCop。
<exec>
<executable>c:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe</executable>
<baseDirectory>project path</baseDirectory>
<buildTimeoutSeconds>300</buildTimeoutSeconds>
</exec>
请查看以下链接
ccnet1 和 ccnet2
【讨论】:
这段代码很有帮助,但我不知道它是否成功。我想我应该解释一下我什至无法让 MSbuild 工作。没有人在写一本我可以遵循的指南。代码在哪里它是如何工作的,任何人都可以解释这一点或发布一个易于理解的信息的链接。谢谢【参考方案2】:在文档的 Tasks 部分中,您应该会看到 MsBuild 的条目。要运行 FxCop,您可以通过 MsBuild 运行它,也可以使用 Executable 任务。
【讨论】:
【参考方案3】:还有一个很好的 MSBuild Community Tasks 集合,它们支持 FxCop 以及一整套在创建 CI 环境时派上用场的其他工具。
【讨论】:
以上是关于FXcop 和 Msbuild 与 CruiseControl.NET的主要内容,如果未能解决你的问题,请参考以下文章
MSBuild 中的 FxCop 和禁用 CA0060 异常
Visual Studio 代码分析与 StyleCop + FxCop