Ошибка MSBuild из-за ошибки APPX0002: Не удалось выполнить задачу GenerateAppxPackageRecipe. Значение не может быть нулевым

Я пытаюсь развернуть пакет командной строки для нашего приложения Windows Store.

Мои команды командной строки:

msbuild /m  /p:Configuration=Debug /p:Platform=x86 /target:Build

Я использую VS2013 Professional с Windows 8.1

Я получаю следующую ошибку:

C:\Program Files (X86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1224,9): Ошибка APPX0002: Не удалось выполнить задачу "GenerateAppxPackageRecipe". Значение не может null.\r [C:\Path\Project.csproj]

C:\Program Files (X86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1224,9): error APPX0002: Имя параметра: source\r [C:\Path\Project.csproj]

Как мне это разрешить?

Ответ 1

Эта ошибка была решена с помощью правильной версии msbuild.exe На чистом сервере сборки с установленным VS2013 установлены (по крайней мере) две копии msbuild.exe. В нашем случае места установки были:

C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe

и

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

Тот, который в папке .Net Framework был тем, который дал нам ошибки. Использование версии, установленной в папке Program Files, разрешило проблему.

Ответ 2

Невозможно помочь вам без кода, способного воспроизвести ошибку. Я подозреваю, что какое-то свойство не корректно разрешается при создании вне VS (например, VisualStudioVersion) и должно быть передано из командной строки. VS также использует msbuild для создания ваших проектов, поэтому сравнение журналов построения из VS и CMD должно помочь вам выявить проблему.

Я предлагаю, чтобы вы устанавливали многословность сборки визуальной студии для диагностики, чистого решения, чем сборку и сборку журнала сборки. Затем очистите решение и постройте из командной строки с подробностью, установленной для диагностики и /fl (журнал в файл, потому что журнал диагностики слишком длинный для анализа в окне консоли).

Сравните вывод командной строки с выходом VS. Ищите различия. С диагностическим уровнем многословия, скорее всего, вы узнаете, что пропало (у меня были подобные проблемы с проектами базы данных, которые не удалось построить из cmd из-за того, что переменная VisualStudioVersion не была правильно разрешена, поэтому я передал ее из командной строки).

NB: журнал диагностики очень подробный, что затрудняет анализ: я бы начал с подробного уровня детализации.

Ответ 3

Я удалил все файлы/папки из папки "project" /bin, очистил решение и восстановил с успехом!

Ответ 4

Для тех, кому грозит проблема с гибридным приложением (в моем случае - corodova), удалите папку сборки вручную и перестройте из VS. Стандартное чистое решение не выполняло эту работу.