巡航控制 .NET 4.0 MSBUILD 记录器
Posted
技术标签:
【中文标题】巡航控制 .NET 4.0 MSBUILD 记录器【英文标题】:Cruise Control .NET 4.0 MSBUILD Logger 【发布时间】:2010-04-22 13:59:20 【问题描述】:有人在 Cruise Control 中获得了 MSBuild 任务来加载记录器吗?
我尝试了各种变体,但总是无法加载记录器。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\Windows\Microsoft.NET\Framework\v4.0.30319 C:\builds\MVC2Test\trunk\MVC2Test\MVC2Test.sln /noconsolelogger /p:Configuration=CruiseControl /v:diag 建造 15 ThoughtWorks.CruiseControl.MsBuild.XmlLogger,C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll
如果可能,请发布一个专门工作的 .NET 4.0 示例。
谢谢
【问题讨论】:
【参考方案1】:对我来说,获得 .NET 4.0 和 Cruise Control .NET 的原因在于:
1) 避免像瘟疫一样使用 64 位 MSBuild...首先有一个有效的 32 位构建。
2) 只需指定记录器的完全限定路径,而不是典型类, 汇编格式。
3) 从 VS 2010 光盘部署目标包。 \WCU\MTPack\NetFx_DTP.msi EXTUI=1 /log install.log
4) 始终首先从命令行证明 MSBuild 有效。
5) 在您的解决方案文件中创建配置并仅包含您要构建的项目
<msbuild>
<!-- WARNING: You must copy the files from C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications to the same path on your build server -->
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\builds\SOLUTIONFOLDER\trunk\</workingDirectory>
<projectFile>C:\builds\SOLUTIONFOLDER\trunk\SOLUTIONNAME.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=CruiseControl /v:diag</buildArgs>
<targets>Build</targets>
<timeout>15</timeout>
<logger>C:\CruiseControl\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
现在,如果微软只允许我们在我们的构建服务器上轻松安装 MSTest……人们已经乞求了 5 年,微软怎么能对测试了解这么少?
祝大家好运。
【讨论】:
+1 表示关于 MSTest 的观点。我们必须在我们的构建服务器上安装 VS,这简直是愚蠢的。我想这是因为他们希望我们使用 TFS Build 服务器,但它现在还很不成熟,CCNet 是更好的选择。以上是关于巡航控制 .NET 4.0 MSBUILD 记录器的主要内容,如果未能解决你的问题,请参考以下文章