我一直在研究MSBuild,因为我需要自动化开发工作室的构建。我能够轻松地编写一个调用VS命令提示符并将MSBuild命令传递给它的.BAT文件。这工作得很好,有点漂亮。MSBuild - 如何从预写的命令行命令构建.NET解决方案文件(在XML任务脚本中)
这里是我的.BAT构建文件的内容:
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"
cd C:\Sandbox\Solution
msbuild MyTopSecretApplication.sln /p:OutputPath=c:\TESTMSBUILDOUTPUT /p:Configuration=Release,Platform=x86
pause
^这工作很好,但我现在需要使用的MSBuild任务的TeamCity CI。我试图写几个MSBuild脚本,但我无法让它们工作相同。什么是我在.BAT文件中使用的命令的等效构建脚本?有任何想法吗?
我一直在使用这样的尝试,但没有成功(我知道这是不对的):
<?xml version="1.0"?>
<project name="Hello Build World" default="run" basedir=".">
<target name="build">
<mkdir dir="mybin" />
<echo>Made mybin directory!</echo>
<csc target="exe" output="c:\TESTMSBUILDOUTPUT">
<sources>
<include name="MyTopSecretApplication.sln"/>
</sources>
</csc>
<echo>MyTopSecretApplication.exe was built!</echo>
</target>
<target name="clean">
<delete dir="mybin" failonerror="false"/>
</target>
<target name="run" depends="build">
<exec program="mybin\MyTopSecretApplication.exe"/>
</target>
我只是需要的是一个MSBuild XML构建脚本编译一个单一的解决方案用于发布模式到指定的输出目录。任何帮助?
万分感谢。现在如果我在“MySecretApplication.sln”中有一个我想排除的项目,我该怎么做?我试过这个但它没有工作......任何想法? –
D3vtr0n
2011-02-25 22:57:19
您需要在解决方案中设置构建配置(右键单击解决方案节点并在Visual Studio中选择配置管理器)。您可以创建一个新配置,为其命名,并选择要构建的项目。这存储在解决方案文件中。在答案中的MSBuild文件中传递新的配置名称。您目前可能具有调试和发布配置,这些是标准名称。 – 2011-02-25 23:25:55
谢谢,那很完美。 – D3vtr0n 2011-02-25 23:46:57