我正在尝试为我们的一个产品编写一个自动构建,并且我已经为我们的一些 VC++ 项目碰壁:我需要能够将输出路径设置为程序集将被复制到的位置完毕。
这是一个临时的 msbuild 文件:
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="3.5">
<Target Name="Build">
<VCBuild Projects="C:\src\SomeProject\SomeProject.vcproj"
ToolPath="C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages"
Configuration="Debug" />
</Target>
</Project>
Stijn 的回答:
我想我会利用这个空间来澄清我个人如何使用 Stijn 的答案来解决这个问题。他的 MSBuild 文件中有一些代码为他编写 vsprops 文件。我决定采用更简单的方法,手动编写文件。
我创建了这个文件,名为 build.vsprops(我的输出路径是 V:)
<?xml version="1.0"?>
<VisualStudioPropertySheet ProjectType="Visual C++"
Version="8.00"
Name="Overrides"
OutputDirectory="V:\">
<Tool Name="VCCLCompilerTool"
AdditionalUsingDirectories="V:\" />
</VisualStudioPropertySheet>
然后我编辑了我的 MSBuild 文件以添加 Override 参数:
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="3.5">
<Target Name="Build">
<VCBuild Projects="C:\src\SomeProject\SomeProject.vcproj"
ToolPath="C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages"
Configuration="Debug"
Override="$(MSBuildProjectDirectory)\build.vsprops" />
</Target>
</Project>