2016-01-21 55 views
1

我有一个共享的Windows8.1项目中的电话和桌面项目。我定义了不同的配置,为桌面和手机构建x86/x64。msbuild:构建到一个appxbundle(AppxBundle =总是不工作)

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

我的命令看起来像这样:

的msbuild myApp.sln/P:OutputPath =%outpath中%;配置=电话;平台= ARM; AppxBundle =总是; AppxBundlePlatforms = ARM /吨:重建,发布

输出是:

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没有问题,但我想自动执行该步骤!

在此先感谢!

回答

2

有一个在Microsoft.AppXPackage.Targets暗示评论:

当在命令行或在TFS建设(通过查看$(BuildingInsideVisualStudio)属性决定),如果构建是 调用上 应用套餐 - 生产项目时,项目包将作为项目建设的一部分生成,而不指定 任何附加 标志或目标。这由默认情况下设置为true的名为GenerateAppxPackageOnBuild的MSBuild属性控制。

如果$(BuildingInsideVisualStudio)= false且$(GenerateAppxPackageOnBuild)= true,那么构建也将生成一个 包。 true

+0

感谢您的回答。我使用msbuild WindowsPhone.jsproj代替了灵魂,并使用AppxBundle创建appxbundles =始终可用 – kerosene

+1

作为参考,可以在以下位置找到这个有用的文件:'C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppxPackage.Targets' –

相关问题