如何使用 MSBuild 构建多个平台

How to use MSBuild to build multiple platforms

我正在使用 Visual Studio 联机构建和 MSBuild 任务。我目前有以下 MSBuild 参数提供给我的任务:

/p:Configuration=Release;AppxBundle=Always;AppxBundlePlatforms="x86|x64|ARM";AppxPackageDir="$(Build.BinariesDirectory)\AppxPackages\";UapAppxPackageBuildMode=StoreUpload

这会在 x86x64ARM 中创建我的应用程序。它在 x86 中创建库的发布版本,但在 x64ARM.

中创建我的库的调试版本

创建我的 .appxupload 包时它失败了 Windows 认证测试,因为我的库是在调试中构建的。

如何为所有 3 种配置构建 MSBuild。我的猜测是因为我没有提供 /platform 配置。如何为 3 个平台提供此配置?

我试过 platform="x86|x64|ARM" 但它返回了一个错误

对于标准项目文件,无法在单个命令中执行此操作。要么使用多个命令为所需的每个 platform/configuration 组合构建项目,要么使用为您执行相同操作的 'master' 构建文件,例如:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="FullRebuild">
  <Target>
    <ItemGroup>
      <Configurations Include="Debug;Release"/>
      <Platforms Include="x86;x64;ARM"/>
      <ConfigAndPlatform Include="@(Configurations)">
        <Platform>%(Platforms.Identity)</Platform>
      </ConfigAndPlatform>
    </ItemGroup>
    <MSBuild Projects="myproject.sln" Targets="Build"
             Properties="Configuration=%(ConfigAndPlatform.Identity);Platform=%(ConfigAndPlatform.Platform)"/>
  </Target>
</Project>