3

关于为什么 MSBuild 总是为我的 UWP 解决方案构建我的所有平台的任何想法,即使我指定只为 ARM 平台构建。这是我正在使用的命令行:

MSBuild.exe C:\MyApp\MyApp.sln /p:Configuration=Release /p:Platform=ARM

我错过了什么或做错了什么?

谢谢。

更新 - 1:

我也尝试将 x86 指定为平台,但它仍然构建所有平台。

4

1 回答 1

2

在花了几个小时试图找出这个问题之后,我最终找出了问题所在,至少部分是这样!

如前所述,除非我首先通过 .NET IDE 创建一个包并且只选择一个平台,否则上述操作无法按预期工作。一旦我这样做了,上面的命令行将构建命令行中指定的相关平台!

我刚刚再次尝试并通过 .NET IDE 创建了一个包并重新选择了所有平台并再次调用了我原来的命令行,它构建了所有平台,而不是命令行中指定的平台。解决方案文件中显然有一些东西导致了这种情况,但我个人认为这种行为是错误的并且是一个错误。

以下命令行似乎与通过 .NET IDE 选择的内容无关:

仅在发布模式下为 ARM 构建包:

msbuild "c:\myapp\myapp.sln" /p:configuration=release;platform=ARM;
AppxBundle=Always;AppxBundlePlatforms="ARM"

仅在调试模式下为 x86 构建包:

msbuild "c:\myapp\myapp.sln" /p:configuration=debug;platform=x86;
AppxBundle=Always;AppxBundlePlatforms="x86"

虽然上述方法有效,与 .NET IDE 中选择的内容无关,但我还没有弄清楚如何构建所有平台。

我还将通过 .NET IDE 选择调查原始命令行问题和链接,如果我找出导致它的原因,我会更新我的答案。

希望这可以帮助。

于 2016-04-25T00:42:52.660 回答