巡航控制.NET 4.0 MSBUILD记录器

5
有人在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 Build 15
如果可能的话,请提供一个专属于.NET 4.0的可工作示例。
谢谢。
1个回答

7
对我而言,让.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年,微软怎么会在测试方面学到这么少呢?祝大家好运。

2
对于MSTest的观点给个赞。我们不得不在构建服务器上安装VS,这太愚蠢了。我猜是因为他们希望我们使用TFS Build服务器,但现在它还不够成熟,CCNet是更好的选择。 - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接