Ошибка развертывания конвейера Azure в службе веб-приложений с отсутствующим обязательным свойством «Выходной путь» - PullRequest
0 голосов
/ 11 июля 2019

У меня проблема с развертыванием на настроенном ресурсе Azure Web App.Я не могу найти много информации об этой ошибке в Интернете, поэтому пишу здесь ...

У меня есть решение .NET с основным проектом и несколькими проектами библиотек классов, на которые я делаю ссылки в своем основном проекте.

По какой-то причине развертывание завершается неудачно, поскольку оно не подхватывает эти dll-проекты в решении.Мой код находится в репозитории bitbucket, и я настроил его для развертывания на ресурсе моего веб-приложения всякий раз, когда я делаю фиксацию в определенной ветви.

Но с ошибкой происходит следующее:

Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling .NET Web Application deployment.
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin\amd64'.
All packages listed in packages.config are already installed.
Invalid restore input. Missing required property 'OutputPath' for project type 'PackageReference'. Input files: D:\home\site\repository\XXXCode\XXXXX.Entities\XXXXX.Entities.csproj.
Failed exitCode=1, command=nuget restore "D:\home\site\repository\XXXCode\XXXCode.sln"
An error has occurred during web site deployment.
Invalid restore input. Missing required property 'OutputPath' for project type 'PackageReference'. Input files: D:\home\site\repository\XXXCode\XXXXX.Entities\XXXXX.Entities.csproj.\r\nD:\Program Files (x86)\SiteExtensions\Kudu\82.10503.3890\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

Я пропустил здесь шаг?Я новичок в этом, поэтому я, наверное, где-то забыл шаг.Любая помощь с благодарностью, спасибо!

1 Ответ

1 голос
/ 16 июля 2019

Автоопределение MSBuild: использование версии msbuild '14 .0' из 'D: \ Program Файлы (x86) \ MSBuild \ 14.0 \ bin \ amd64 '.

Согласно этому сообщению об ошибке, очевидно, что используемая вами версия - MSBuild 14.0 (VS 2015 tools) .

А также из этого сообщения:

Отсутствует обязательное свойство 'OutputPath' для типа проекта 'PackageReference'.

Насколько я понял, PackageReference просто работает с MSBuild версии 15 и выше вместо 14.0. Так как он вышел с VS 2017, и в то же время MSBuild 15.0.

Итак, для устранения этой ошибки я рекомендую попробовать более новую версию: MSbuild 15.0.

Вы также можете обратиться к этому билету: Отсутствует обязательное свойство 'OutputPath' для типа проекта 'PackageReference'

Edit:

Во-первых, пожалуйста, убедитесь, что ваш скрипт может быть успешно выполнен в VS2017 локально.

И затем, если вы строите с помощью Задача сборки Visual Studio , измените Visual Studio Version на:

enter image description here

Или, если вы используете MSBuild , которое вы используете, просто нужно изменить MSBuild Version:

enter image description here

С другой стороны, если вы используете Specify Location вместо Version в задаче MSbuild, укажите путь к папке MSBuild.exe , который в MSBuild 15.0. Для меня я использую VS2019, поэтому расположение MSbuild 16.0:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe

enter image description here

Update

Поскольку вы используете VS2017, вы можете указать местоположение MSbuild 15.0 с помощью пути к файлу MSbuild 15.0 как:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64
...