如何使用 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
这会在 x86
、x64
和 ARM
中创建我的应用程序。它在 x86
中创建库的发布版本,但在 x64
和 ARM
.
中创建我的库的调试版本
创建我的 .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>
我正在使用 Visual Studio 联机构建和 MSBuild 任务。我目前有以下 MSBuild 参数提供给我的任务:
/p:Configuration=Release;AppxBundle=Always;AppxBundlePlatforms="x86|x64|ARM";AppxPackageDir="$(Build.BinariesDirectory)\AppxPackages\";UapAppxPackageBuildMode=StoreUpload
这会在 x86
、x64
和 ARM
中创建我的应用程序。它在 x86
中创建库的发布版本,但在 x64
和 ARM
.
创建我的 .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>