我目前正在尝试使用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"
答案 0 :(得分:3)
问题的解决方案实际上非常简单,但我花了几个小时来弄明白,这并不能让我感到骄傲。现在我想分享我的解决方案:
msbuild /t:Build /p:Configuration=Release /p:Platform=x86 /p:AppxPackage=false /verbosity:minimal
使用此命令构建工作正常。这里的重要参数是 /p:AppxPackage=false
,它将跳过创建AppxPackage。这正是我想要的,因为签名不起作用,因为StoreKey.pfx
文件丢失,我无法提供密钥,因为应用程序本身是开源的。