使用CruiseControl.NET指定目标平台

时间:2010-06-30 07:06:33

标签: build-automation cruisecontrol.net

我正在设置我的第一个自动构建服务器...到目前为止,一切都进展顺利,CruiseControl.NET正确地检查出来自VisualSVN的所有nececery文件并构建解决方案......但是,这个是我遇到问题的地方......

首先设置构建服务器的一个重要原因是因为我需要使用我的项目/设置文件来定位x86和x64。我无法找到这样做的方法。这是我目前的配置文件(相关位):

    <tasks>
        <devenv>
          <solutionfile>ProjectName.sln</solutionfile>
          <configuration>Release</configuration>
          <buildtype>Rebuild</buildtype>
          <project>ProjectName</project>
          <executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com</executable>
          <buildTimeoutSeconds>600</buildTimeoutSeconds>
          <version>VS2010</version>
        </devenv>
    </tasks>

这是正常的,但我希望CruiseControl.NET构建它两次,一次用于目标平台x86,一次用于x64。我怎么能这样做?

我怀疑我需要在配置块中添加一个额外的参数,但似乎没有任何工作,我(奇怪的是)无法找到这个功能的例子......

感谢您的帮助......

2 个答案:

答案 0 :(得分:1)

您可以尝试使用msbuild任务,这应该允许您执行您想要执行的操作...只需将适当的参数传递给它。首先,您需要在项目文件中设置配置,如here所述。然后你可以添加几个msbuild目标(每个你想要构建的配置一个),这将与此类似:

<msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
    <workingDirectory>C:\svn\TRUNK\Project</workingDirectory>
    <projectFile>Solution.sln</projectFile>
    <buildArgs>/noconsolelogger /t:Rebuild /p:Configuration=Release</buildArgs>
    <timeout>900</timeout>
    <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
  </msbuild>

我想你可以用devenv做类似的事,但我不确定。

答案 1 :(得分:1)

在此处查看答案:How to specify the platform in devenv build CruiseControl.net

<devenv>
    <configuration>Debug|x86</configuration>
</devenv>