我有一个用C#/ XAML编写的Windows 8.1商店应用程序的VS2013项目。我使用TFS 2013构建模板配置了构建,以便为我的项目构建解决方案。解决方案中还有一些其他项目正在构建中(数据库项目,Web项目,Windows服务项目,WPF客户端应用程序项目)。
当Windows Store App构建时,我收到以下错误:
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 Arguments:/p:VisualStudioVersion=12.0 /tv:12.0。同样在&#34; Packaging&#34;下的Package.appxmanifest设置中。选项卡我已将“生成应用程序包”设置设置为“从不”。我不确定其他设置可能与此相关,所以如果我能提供的其他详细信息可以帮助您更好地了解我的情况,请告诉我。
该项目在我的开发系统上构建和打包。如果我运行项目 - &gt;商店 - &gt;从VS2013中创建App Packages ...向导,它会生成.appx文件。
我真的不知道接下来要去哪儿。感谢您提供的任何帮助!
史蒂夫
答案 0 :(得分:0)
我今天重新审视了这个问题并最终成功完成了功能构建。问题似乎来自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年的活动风格从MSBuild的TFS 2013安装运行MSBuild.exe,通常在这里找到:C:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin。要为Win8.1构建Windows应用商店应用,必须使用MSBuild for 2013。
我们的自定义构建模板为我们提供了我们喜欢的方案中的自动装配版本控制,这就是我使用该模板的原因。我似乎必须使用新的TFS 2013模板(TfvcTemplate.12.xaml)作为我们更新的自定义模板的基础。
希望有一天这些信息对某人有用。谢谢!