Visual studio 2015 msbuild不遵守.sln文件设置

Visual studio 2015 msbuild不遵守.sln文件设置,visual-studio-2015,msbuild,Visual Studio 2015,Msbuild,在我的VC++2015项目中,我有两个平台配置,解决方案文件为Win32和x64 MyProject.sln包含多个能够为Win32和x64平台构建的项目 在x64的Configuration Manager中,我没有选中特定的项目生成 例如,MyProject.sln包含Project1和Project2,只有Project1将同时生成平台Win32和x64,Project2将仅为Win32生成 msbuild "MyProject.sln" /p:platform=Win32 /p:conf

在我的VC++2015项目中,我有两个平台配置,解决方案文件为Win32和x64

MyProject.sln包含多个能够为Win32和x64平台构建的项目

在x64的Configuration Manager中,我没有选中特定的项目生成

例如,MyProject.sln包含Project1和Project2,只有Project1将同时生成平台Win32和x64,Project2将仅为Win32生成

msbuild "MyProject.sln" /p:platform=Win32 /p:configuration=Debug /t:rebuild // this work

msbuild "MyProject.sln" /p:platform=x64 /p:configuration=Debug /t:rebuild // this doesn't work
msbuild也将尝试生成Project2,但它将失败,因为找不到依赖的库。事实上,我希望它从生成中排除Project2,但msbuild不遵守.sln设置

我在记事本中打开MyProject.sln,注意到它显然是Project2未包含在x64构建中

使用msbuild时是否仍要排除平台x64中的Project2内部版本?通过VS2015 IDE构建没有问题,因为Configuration Manager我已从构建中取消选中它。

@hghew,如下图所示,请添加解决方案平台“Win32”

@hghew,如下图所示,请添加解决方案平台“Win32”


无法复制。当创建新的解决方案并添加两个新的C++项目时,然后转到配置管理器,禁用ProxEt2的x64构建,MSBudio“MyProj.SLN”/P:Stale= X64/P:Stase=调试输出,而不是在“配置调试”X64中选择“Projuts2”项目来构建,如预期的那样。因此,您在问题中提供的信息不完整,或者您遇到了一个奇怪的VS错误。我建议你也先从头开始尝试一切(新的解决方案,新的项目)@hghew,我也不能复制。正如stijn所说,尝试使用新的解决方案和项目。当我在VS IDE内部构建时,仅为x64重建所有,它将自动构建某些没有任何x64配置的Win32项目,我最终不得不删除项目依赖项,VS IDE和msbuild中仅针对x64/Win32配置的“全部重建”行为以某种方式不起作用differently@hghew在OneDrive上共享示例项目。无法复制。当创建新的解决方案并添加两个新的C++项目时,然后转到配置管理器,禁用ProxEt2的x64构建,MSBudio“MyProj.SLN”/P:Stale= X64/P:Stase=调试输出,而不是在“配置调试”X64中选择“Projuts2”项目来构建,如预期的那样。因此,您在问题中提供的信息不完整,或者您遇到了一个奇怪的VS错误。我建议你也先从头开始尝试一切(新的解决方案,新的项目)@hghew,我也不能复制。正如stijn所说,尝试使用新的解决方案和项目。当我在VS IDE内部构建时,仅为x64重建所有,它将自动构建某些没有任何x64配置的Win32项目,我最终不得不删除项目依赖项,VS IDE和msbuild中仅针对x64/Win32配置的“全部重建”行为以某种方式不起作用differently@hghew在OneDrive上共享示例项目。