在使用MSBuild构建Windows应用商店应用时,如何跳过打包步骤?

时间:2017-10-28 18:10:39

标签: msbuild uwp appveyor

我目前正在尝试使用AppVeyor为我的Windows应用商店应用设置持续集成。我面临的问题是构建失败,因为缺少Package.StoreAssociation.xml文件。这是详细的错误消息(error APPX0002):

(_ValidateAppxPackage target) -> 
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(2625,5): error APPX0002: Task 'ValidateAppxPackage' failed. Could not find file 'C:\projects\...\<PROJECTNAME>\Package.StoreAssociation.xml'. [C:\projects\...\<PROJECTNAME>\<PROJECTNAME>.csproj]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(2625,5): error APPX0002:  [C:\projects\...\<PROJECTNAME>\<PROJECTNAME>.csproj]

在我的研究过程中,我发现了这个site,它说这个错误是因为创建应用程序包的步骤而且在使用Visual Studio时它被跳过了,我可以批准它,因为它有效在没有Package.StoreAssociation.xml文件的计算机上。

使用MSBuild时,有没有办法跳过此步骤,分别是AppVeyor?

所以我找到了this网站,建议将参数AppxPackageSigningEnabled设置为false。不幸的是,这没有帮助。我目前使用的命令如下:

msbuild "C:\projects\...\<PROJECTNAME>.sln" /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /p:AppxPackageSigningEnabled=false /p:AppxBundle=Never /verbosity:normal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"

1 个答案:

答案 0 :(得分:3)

问题的解决方案实际上非常简单,但我花了几个小时来弄明白,这并不能让我感到骄傲。现在我想分享我的解决方案:

msbuild /t:Build /p:Configuration=Release /p:Platform=x86 /p:AppxPackage=false /verbosity:minimal

使用此命令构建工作正常。这里的重要参数是 /p:AppxPackage=false ,它将跳过创建AppxPackage。这正是我想要的,因为签名不起作用,因为StoreKey.pfx文件丢失,我无法提供密钥,因为应用程序本身是开源的。