Сбой сборки приложения TFS 2013 для магазина Windows с «задачей» GenerateAppxPackageRecipe «неожиданно завершилась неудачей».

1

У меня есть проект VS2013 для приложения для Windows 8.1 Store, написанного на С#/XAML. Я сконфигурировал сборку с использованием шаблона сборки TFS 2013 для создания решения для моего проекта. Есть несколько других проектов в решении, которые строят отлично (проект базы данных, веб-проект, проект службы Windows, проект приложения клиента WPF).

При создании приложения для Windows Store появляется следующее сообщение об ошибке:

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 на вкладке "Упаковка" я установил параметр "Создать приложение" в "Никогда". Я не уверен, какие другие настройки могут иметь значение здесь, поэтому, пожалуйста, дайте мне знать, если есть другие подробности, которые я могу предоставить, которые помогут вам лучше понять мою ситуацию.

Проект строит и пакеты отлично работает в моей системе разработки. Если я запускаю мастер проекта Project → Store → Create App Packages... из VS2013, он создает файл.appx.

Я действительно не знаю, где искать дальше. Спасибо за любую помощь, которую вы можете предоставить!

Стив

Теги:
tfsbuild
msbuild
windows-8.1

1 ответ

0

Сегодня я подробно рассмотрел проблему и сумел завершить функциональную сборку. Проблема, похоже, связана с нашим настраиваемым шаблоном сборки из TFS 2012. Оказывается, действие Xaml для запуска MSBuild в TFS 2012 называется MSBuild, а для TFS 2013 оно называется RunMSBuild. В 2012 году этот эффект явно запускает MSBuild.exe из установки.NET Framework 4.0, которая обычно находится здесь: C:\Windows\Microsoft.NET\Framework\v4.0.30319. Пригодный для использования в 2013 году способ запускает MSBuild.exe из установки MSBuild, установленной в TFS 2013, как правило, здесь: C:\Program Files (x86)\MSBuild\12.0\Bin. Чтобы создать Windows Store Apps для Win8.1, вы должны использовать MSBuild для 2013 года.

Наш настраиваемый шаблон сборки предоставил нам автоматическое управление версиями в той схеме, которую мы предпочитаем, поэтому я использовал этот шаблон. Кажется, мне придется использовать новый шаблон TFS 2013 (TfvcTemplate.12.xaml) в качестве основы для нашего обновленного настраиваемого шаблона.

Надеюсь, эта информация когда-нибудь может быть полезна кому-то. Благодарю!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню