【发布时间】:2014-09-05 14:08:59
【问题描述】:
我们刚刚将构建服务器升级到 TFS 2013 和 Visual Studio 2013,但遇到了问题。我们有一个 MSBuild (.proj) 文件,它触发使用 CMake 生成解决方案 (.sln) 文件,然后是一个构建此解决方案的子 MSBuild 步骤。 CMake 部分完成时没有问题,但是当 MSBuild 尝试构建它时,我们从解决方案中的所有项目中收到以下错误:
错误 MSB4025:无法加载项目文件。找不到文件(项目文件名).metaproj
项目旁边不存在 metaproj 文件,但据我了解,这些文件从未存储到磁盘,而是保存在内存中。在我们的 2012 构建服务器上以及在本地使用 Visual Studio 2013 时,完全相同的源仍然可以正常构建。我们所做的唯一更改是生成 2013 解决方案,并将“引导”MSbuild 文件的 ToolVersion 设置为 12.0。
【问题讨论】:
-
您是否尝试过设置环境变量“MSBuildEmitSolution=1”来查看正在构建哪些 metaproj 文件以及在哪里构建? (或者,使用 /p:MSBuildEmitSolution=1 格式在 MSBuild 命令行上设置它)。这可能会帮助您推断问题可能是什么。
-
据我所知,在命令行上设置选项没有任何作用,您必须将其用作环境变量。
标签: visual-studio-2013 msbuild cmake tfsbuild