我正在使用带有 TFS2012 的 Visual Studio 2012 构建定义,并且一个定义被设置为构建一个包含 .csproj 和 .vcproj(分别为 c# 和 c++)的解决方案。我可以在构建服务器上运行解决方案的本地构建,它运行良好,构建输出显示所有项目(最重要的是 c++ 项目)都已构建;prebuild,postbuild,整个九码。但是,当我运行构建相同解决方案的构建定义时,c++ 项目似乎没有构建。构建报告返回没有错误,但是构建日志仅返回 c++ 项目的以下内容:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE....\vc\vcpackages\VCBuild.exe /override:"[path to solution file].Mixed Platforms.Debug.vsprops" [path to项目文件]“调试|Win32”
我希望看到的是一个更长的构建报告(表明该项目实际构建),但可惜我似乎缺乏构建 c++ 项目的尝试。更不用说构建输出不包含来自 c++ 项目的任何程序集或 .pdb。
为了消除任何关于没有安装 Visual Studio 2008 问题的想法,构建服务器确实安装了 Visual Studio 2008,并且我已经执行了全面修复以确保所有正确的文件都到位(例如 vcbuild. exe 和 vcprojectengine.dll)。
任何想法为什么 c++ 项目没有建立?谢谢你的帮助!
更新_ _ __ _ __ _ __ _ __ _ ____
问题已经改变。由于一些非常苗条的构建日志记录,我的印象是 C++ 项目没有构建(我带着这个想法运行,因为我没有在指定的构建定义放置位置看到任何项目输出)。经过一些调查(以及一些非常有用的建议!),问题已集中在简单的 c++ 项目输出目录属性不会像 C# 属性那样动态更改。手动更改这些值并运行构建定义已证明构建定义使用 C++ 项目文件的默认输出目录属性。
我的临时解决方案是编写一些脚本来将这些输出复制到我需要的文件夹中。为了进一步提出我的帖子的问题,是否有任何设置可以让这些 C++ 项目输出目录属性像 C# 项目一样动态更改?