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