使用CruiseControl.NET指定目标平台

Dav*_*jak 5 cruisecontrol.net build-automation

我在设置我的第一个自动构建服务器的过程中...到目前为止,一切都进展顺利,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>
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢你的帮助...

jvi*_*lta 1

您可以尝试使用 msbuild 任务,它应该允许您做您想做的事情...只需向其传递适当的参数即可。首先,您必须在项目文件中设置配置,如此处所述。然后,您可以添加多个 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>
Run Code Online (Sandbox Code Playgroud)

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