msbuild:生成为appxbundle(appxbundle=始终不工作)

msbuild:生成为appxbundle(appxbundle=始终不工作),msbuild,build-process,appx,Msbuild,Build Process,Appx,我有一个共享Windows8.1项目,其中包含一个电话和桌面项目。我定义了不同的配置来为桌面构建x86/x64,为手机构建ARM msbuild工作正常,没有错误,但输出文件夹(或其他任何地方)上没有最终的*.appxbundle文件,尽管我设置了参数appxbundle=Always 我的命令如下所示: msbuild myApp.sln/p:OutputPath=%OUTPATH%;配置=电话;平台=臂;AppxBundle=始终;AppxBundlePlatforms=ARM /t:重建、

我有一个共享Windows8.1项目,其中包含一个电话和桌面项目。我定义了不同的配置来为桌面构建x86/x64,为手机构建ARM

msbuild工作正常,没有错误,但输出文件夹(或其他任何地方)上没有最终的*.appxbundle文件,尽管我设置了参数appxbundle=Always

我的命令如下所示:

msbuild myApp.sln/p:OutputPath=%OUTPATH%;配置=电话;平台=臂;AppxBundle=始终;AppxBundlePlatforms=ARM /t:重建、发布

输出为:

OUTPATH
├── ForBundle
│   └── AppxManifest.xml
├── AppxManifest.xml
├── App.WindowsPhone.build.appxrecipe
├── App.WindowsPhone_3.2.1_ARM.appx
├── App.WindowsPhone_3.2.1_scale-100.appx
├── App.WindowsPhone_3.2.1_scale-140.appx
├── App.WindowsPhone_3.2.1_scale-180.appx
├── resources.pri
└── SomeDependency.winmd
我试图用makeappx.exe包打包这个文件夹,但没有成功,我意识到这个文件夹看起来与appxbundle中的文件夹有些不同

通过VS GUI创建appxbundle没有问题,但我想自动化这一步


提前谢谢

在Microsoft.AppXPackage.Targets中有一条提示注释:

在命令行或TFS中生成时(通过查看$(BuildingSideVisualStudio)属性确定),如果生成是 根据 app软件包制作项目,项目的软件包将作为构建项目的一部分制作,无需指定 任何额外的 旗帜或目标。这是由名为GenerateAppxPackageOnBuild的MSBuild属性控制的,默认情况下该属性设置为true

如果$(BuildingSideVisualStudio)=false和$(GenerateAppPackageOnBuild)=true,则构建还将生成 包裹 真的


谢谢你的回答。我使用了msbuild WindowsPhone.jsproj而不是SOUTION,并使用AppxBundle=Always now WORKS创建了AppxBundle。作为参考,可以在以下位置找到此有用的文件:
C:\Program Files(x86)\msbuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppxPackage.Targets