使用.net 3.5 MSBuild和NantContrib运行构建

时间:2009-03-09 15:43:53

标签: visual-studio-2008 .net-3.5 msbuild nant nantcontrib

我注意到最初在VS 2008中创建的项目不使用nantcontrib msbuild任务进行编译。有一个我见过here的解决方案,但考虑到“MSBuildBinPath”已经被删除,它看起来有点像黑客,我并不完全喜欢在每个项目文件中更改此属性的想法我在VS 2008中创建的。

如果没有更改构建脚本以通过exec任务调用msbuild,有没有办法将msbuild任务指向特定版本的MSBuild?也许这是为Nant的下一个版本所做的工作?

2 个答案:

答案 0 :(得分:3)

还有另一个选项,直接调用MsBuild.exe。

以下是一个例子:

<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe"/>    
    <target name="build">
        <exec program="${MSBuildPath}">
            <arg line='"${SolutionFile}"' />
            <arg line="/property:Configuration=${SolutionConfiguration}" />
            <arg value="/target:Rebuild" />
            <arg value="/verbosity:normal" />
            <arg value="/nologo" />
        </exec>
    </target>

如果你从Cruise Control .NET中调用Nant,你也可以添加这个参数:

<arg line='/logger:"C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll"'/>

答案 1 :(得分:1)