如何使用MSBuild构建多个平台

时间:2017-06-08 11:38:53

标签: msbuild uwp azure-devops windows-store windows-dev-center

我正在使用带有MSBuild任务的Visual Studio在线构建。我目前有以下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",但它返回了错误

1 个答案:

答案 0 :(得分:1)

对于标准项目文件,无法在单个命令中执行此操作。使用多个命令为所需的每个平台/配置组合构建项目,或使用“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>