- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我们的一个产品编写一个自动构建,但我在一些 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>
最佳答案
查看 VCBuild task 的 Override 参数。基本上,您指定一个属性表,您可以使用它来覆盖您想要的任何属性(它与将属性表添加到 VS 中项目的列表顶部具有相同的效果)。您甚至可以使用 WriteLinesToFile 任务生成覆盖文件。
示例:
<PropertyGroup>
<VCOverridesFile Condition=" '$(VCOverridesFile)'=='' ">overrides.vsprops</VCOverridesFile>
<VCOverridesOpen>%3C?xml version=%221.0%22?%3E%0D%0A%3CVisualStudioPropertySheet ProjectType=%22Visual C++%22 Version=%228.00%22 Name=%22My Overrides%22%3E</VCOverridesOpen>
<VCOverridesClose>%3C/VisualStudioPropertySheet%3E</VCOverridesClose>
<MyOutPath><Tool Name="VCLinkerTool" OutputFile ="c:\my.exe"/></MyOutPath>
</PropertyGroup>
<Target Name="WriteOverridesFile">
<WriteLinesToFile
File="$(VCOverridesFile)"
Lines="$(VCOverridesOpen);$(AdditionalVCOverrides);$(VCOverridesClose)"
Overwrite="true" />
</Target>
然后将 $(VCOverridesFile) 传递给 Override 属性,并确保您的 VCBuild 任务 DependsOnTarget WriteOverridesFile。
关于msbuild - MSBuild 中的 VCBuild 任务 - 更改输出路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4249221/
我的系统上安装了多个版本的 Visual Studio(2005、2008 和 2010)。我还有一个 Visual Studio 2005 (8.0) C++ 项目 (vcproj) 和与之关联的解
我正在尝试为我们的一个产品编写一个自动构建,但我在一些 VC++ 项目中遇到了困难:我需要能够将输出路径设置为程序集所在的位置完成后复制。 这是一个临时的 msbuild 文件:
我尝试运行“VCBuild.exe” 我的环境: Windows 10 专业版 X64 Node v7.9.0-x64 Visual Studio 2017 所以,我只是像这个命令一样运行。 $np
当我安装fabric.js项目时,我收到了以下错误消息。 Visual C++ component "VCBuild.exe" 所以我安装了visual studio 2017,.net framew
我想安装 nodejs 很久了。我尝试通过谷歌搜索,但严重的是我没有任何有效的解决方案。 我的第一个问题是 为什么 Nodejs 需要 Microsoft Visual 组件? 其次,根据谷歌的建议,
我正在尝试使用 npm install steam 但我收到一个错误提示 我不确定如何解决这个问题,我已经在两个不同的 npm 模块安装中得到了这个。不过我可以安装其他模块。 我尝试过的:安装它需要的
我有带有 SP1 和 Windows sdk 7.1 的 Visual Studio 2010。 我也有 VS2012 和 Windows kit 8。 当我运行时 Windows SDK 7.1 C
我的 buildbot 已经运行了 3 年,使用 devenv.com 在 Windows 上编译项目。 现在 devenv.com 在构建 64 位版本时遇到了麻烦:将配置作为“Debug|x64”
我是一名优秀的程序员,十分优秀!