Windows 商店应用程序的 TFS 2013 构建失败,并显示““GenerateAppxPackageRecipe”任务意外失败。”

Posted

技术标签:

【中文标题】Windows 商店应用程序的 TFS 2013 构建失败,并显示““GenerateAppxPackageRecipe”任务意外失败。”【英文标题】:TFS 2013 build of windows store app fails with "The "GenerateAppxPackageRecipe" task failed unexpectedly." 【发布时间】:2014-08-05 20:37:46 【问题描述】:

我有一个用 C#/XAML 编写的 Windows 8.1 商店应用程序的 VS2013 项目。我已经使用 TFS 2013 构建模板配置了一个构建来构建我的项目的解决方案。解决方案中还有一些其他项目正在构建良好(数据库项目、Web 项目、Windows 服务项目、WPF 客户端应用程序项目)。

当构建 Windows 应用商店应用程序时,我收到以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets (1224): The "GenerateAppxPackageRecipe" task failed unexpectedly.
System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.ToDictionaryTSource,TKey,TElement
   at Microsoft.Build.AppxPackage.DumpResourceIndexMap..ctor(ITaskItem[] indexedPayloadFiles)
   at Microsoft.Build.AppxPackage.ResourceIndexMap.Create(String projectDir, String makePriExtensionPath, ITaskItem[] indexedPayloadFiles)
   at Microsoft.Build.AppxPackage.GenerateAppxPackageRecipe.ExecuteImplementation()
   at Microsoft.Build.AppxPackage.AppxPackagingTaskHelper.Execute()
   at Microsoft.Build.AppxPackage.GenerateAppxPackageRecipe.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

我将以下参数传递给构建配置中的 MSBuild 参数:/p:VisualStudioVersion=12.0 /tv:12.0。同样在“打包”选项卡下的 Package.appxmanifest 设置中,我将“生成应用程序包”设置设置为“从不”。我不确定还有哪些其他设置可能与此处相关,因此请告诉我是否可以提供其他详细信息,以帮助您更好地了解我的情况。

该项目在我的开发系统上构建和打包很好。如果我在 VS2013 中运行 Project --> Store --> Create App Packages... 向导,它会生成 .appx 文件。

我真的不知道下一步该往哪里看。感谢您提供的任何帮助!

史蒂夫

【问题讨论】:

【参考方案1】:

我今天重新审视了这个问题,并最终得到了一个功能性的构建。问题似乎出在我们从 TFS 2012 定制的构建模板上。事实证明,在 TFS 2012 中运行 MSBuild 的 Xaml 活动被命名为 MSBuild,而对于 TFS 2013,它被命名为 RunMSBuild。 2012 版本的活动显式运行来自 .NET Framework 4.0 安装的 MSBuild.exe,通常在此处找到:C:\Windows\Microsoft.NET\Framework\v4.0.30319。 2013 版活动从 TFS 2013 安装的 MSBuild 运行 MSBuild.exe,通常在此处找到:C:\Program Files (x86)\MSBuild\12.0\Bin。要为 Win8.1 构建 Windows 应用商店应用程序,您必须使用 MSBuild for 2013。

我们定制的构建模板在我们喜欢的方案中为我们提供了自动装配版本控制,这就是我使用该模板的原因。看来我将不得不使用新的 TFS 2013 模板 (TfvcTemplate.12.xaml) 作为我们从这里更新的自定义模板的基础。

希望这些信息有一天对某人有用。谢谢!

【讨论】:

以上是关于Windows 商店应用程序的 TFS 2013 构建失败,并显示““GenerateAppxPackageRecipe”任务意外失败。”的主要内容,如果未能解决你的问题,请参考以下文章

如何在Eclipse中安装和使用微软的TFS插件

[TFS 2013] 安装 TFS 2013 Preview–Basic

Windows 应用商店应用单元测试 USB 设备

Team Foundation Server 2013 安装部署配置权限

Windows 应用商店应用标准样式与 Windows 应用商店应用字体指南

使用 (XALM) 构建过程模板在 TFS 2013 中将工具路径设置为 MSBuild 2019