小编use*_*216的帖子

x64 build:错误MSB8013:此项目不包含Debug | Win32的Configuration和Platform组合

我正在尝试使用许多解决方案运行复杂构建的纯x64构建(一些用于CI,一些用于开发人员)和数百个项目并且遇到"错误MSB8013:此项目不包含配置和平台组合的调试| Win32"

我把它简化为一个简单的配置:

  • 溶液A含X项目和项目Y.项目X有一个项目引用到项目Y.
  • 解决方案B包含还包含项目X.

没有任何项目或解决方案包含Wi​​n32平台 - 它已被删除.

当我构建解决方案B(作为x64)时,我收到了

错误MSB8013:此项目不包含Debug | Win32的Configuration和Platform组合

错误消息有时包含其他信息:

如果某个其他项目正在尝试遵循项目到项目对此项目的引用,此项目已卸载或未包含在解决方案中,并且引用项目不使用相同或等效项目构建,则也可能出现此错误配置或平台.

问题是参考项目确实 "使用相同或相当的配置或平台建设."

查看msbuild诊断,正在构建项目Y,因为项目X包含对它的项目引用.但是在构建项目Y之前,正在删除配置和平台属性:

1>Task "MSBuild" (TaskId:28)
1>  Removing Properties: (TaskId:28)
1>    Configuration (TaskId:28)
1>    Platform (TaskId:28)
Run Code Online (Sandbox Code Playgroud)

因此,Microsoft.Cpp.Default.props启动并将这些设置为Debug | Win32:

1>Task "Message" (TaskId:11)
1>  Configuration=Debug (TaskId:11)
1>Done executing task "Message". (TaskId:11)
1>Task "Message" (TaskId:12)
1>  Platform=Win32 (TaskId:12)
1>Done executing task "Message". (TaskId:12)
Run Code Online (Sandbox Code Playgroud)

如何防止这种情况并使msbuild通过所选的配置和平台?

(我理解使用NuGet来管理包依赖性的最终解决方案,但这在短期内是不可行的)

c++ msbuild visual-studio-2010 vcxproj

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

msbuild ×1

vcxproj ×1

visual-studio-2010 ×1