带有Desktop Bridge软件包的UWP与MSbuild的构建自动化

Nas*_*tic 6 msbuild build-automation uwp

有谁知道如何使用MSbuild工具通过Desktop Bridge(Desktop Extension)软件包生成(.appxupload / .appxbundle)自动执行UWP?

我已经在以下博客上进行了设置。

对于简单的UWP应用(不带Desktop Extension),我可以使用以下命令进行操作:

msbuild UWP.sln /p:Configuration=Release;AppxBundle=Always;AppxBundlePlatforms=”x86|x64|ARM”;UapAppxPackageBuildMode=StoreUpload
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试一下时,Package.wapproj我遇到了很多错误。例如,尽管Package项目具有证书,但是UWP项目也需要一个证书(为什么?),当我解决该问题时,msbuild需要来自bin / Debug的build.appxrecipe,尽管我正在构建Release等。

lai*_*kai 5

这里有同样的经历,但我设法通过分别构建 x86 和 x64 项目来绕过“无法找到配方文件”错误,然后运行 ​​msbuild 命令来打包两者。这是我的笔记:

  1. 因为我的解决方案有一个桌面扩展项目、几个c#项目和几个测试项目,所以我必须在项目文件中一一指定<AppxBundle>Always</AppxBundle>or 。<AppxBundle>Never</AppxBundle>

  2. 清理 x86 和 x64。

  3. 首先构建 x86。msbuild .\MyApp.sln /p:Configuration=Release /p:Platform=x86

  4. 构建 x64。msbuild .\MyApp.sln /p:Configuration=Release /p:Platform=x64

  5. 在命令行中运行此 msbuild 命令:

    msbuild .\MyApp.sln /p:Configuration=Debug /p:AppxBundlePlatforms="x86|x64" /p:AppxPackageDir="C:\Develop\MyApp\AppPackages\" /p:UapAppxPackageBuildMode=StoreUpload

  6. 请注意,我必须在命令中添加AppxPackageDir ,否则它只会捆绑 x64,而不是 x86。我还不知道为什么。

  7. 然后您将看到所有捆绑文件夹都在AppxPackageDir下创建,包括 x64 和 x86。将在文件夹外部创建一个上传包。

构建发布版本需要很长时间,但它可以在命令行中运行。自动化,我们来了!