Msbuild 使用预构建事件将整个解决方案重定目标到另一个SDK

Msbuild 使用预构建事件将整个解决方案重定目标到另一个SDK,msbuild,visual-studio-2017,Msbuild,Visual Studio 2017,我有一个解决方案需要由msbuild.exe生成,但我正在调用msbuild.exe作为另一个解决方案的预生成事件: msbuild.exe $(ProjectDir)dependencies\submodule.sln /t:Build /p:Configuration=$(Configuration);Platform=$(Platform) 但是,该解决方案的所有24个项目都以8.1 SDK为目标,我需要它们以Win10 SDK中的一个为目标,因此我需要一种方法将所有项目重新定位为预构建

我有一个解决方案需要由msbuild.exe生成,但我正在调用msbuild.exe作为另一个解决方案的预生成事件:

msbuild.exe $(ProjectDir)dependencies\submodule.sln /t:Build /p:Configuration=$(Configuration);Platform=$(Platform)
但是,该解决方案的所有24个项目都以8.1 SDK为目标,我需要它们以Win10 SDK中的一个为目标,因此我需要一种方法将所有项目重新定位为预构建事件


这是可以实现的吗?

找到了答案。任何属性都可以更改。只需使用宏

此行将针对作为事件运行的解决方案的同一SDK:

msbuild.exe "$(ProjectDir)dependencies\submodule\submodule.sln" /t:Build /p:Configuration=$(Configuration);Platform=$(Platform);WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion)

顺便说一句,否决票到底是怎么回事,来吧……

你可以接受它作为答案。这对阅读这篇文章的其他社区成员来说是有益的。我想这样做,但必须先过两天。谢谢你的提醒。:)@LeoLiu MSFT这是一个很好的黑客。但是VS应该在解决方案上有一个上下文菜单来实现这一点!问题是我根本无法修改解决方案,因为这是另一个回购协议的一部分,我无法控制。