Шаблонный проект Visual Studio 2017 RC не удается развернуть в службе приложений Azure из GitHub

Я пытаюсь развернуть стандартное веб-приложение Visual Studio 2017 RC Asp.Net Core (без проверки подлинности) в службе приложений Azure, используя вариант развертывания GitHub. Приложение не было изменено из шаблонного кода; буквально: создайте новое приложение из шаблона VS, опубликуйте его на GitHub и разверните в службе приложений.

Вопрос

Требуются ли какие-либо особые настройки для приложений VS 2017 RC для развертывания в службе приложений, или инструмент SCM (Kudu) службы приложений просто еще не соответствует структуре проекта VS 2017 RC?

Подробнее

Я столкнулся с двумя проблемами, которые, как мне кажется, связаны.

Проблема 1: кажется, что инструменты MSbuild версии 15.0 не установлены в службе приложений. При сборке Kudo по умолчанию использует версию 14.0:

Command: "D:\home\site\deployments\tools\deploy.cmd"  
Handling .NET Console Application deployment.  
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'.  

Я добавил настраиваемый параметр приложения., SCM_BUILD_ARGS=-tv:15.0, чтобы попытаться заставить Kudo использовать версию 15.0, но это не дало результата. Он продолжал использовать версию 14.0, как и раньше.

Проблема 2: (и, возможно, в результате использования MSBuild 14.0): MSBuild выдает следующую ошибку при попытке восстановить пакеты NuGet:

Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.

Это сообщение об ошибке немного расплывчато, но до недавнего времени Сообщение будет утверждать, что в решении не найден проект, содержащий файл packages.config или project.json. Оба этих файла устарели, начиная с VS 2017 RC. Я добавил пустой файл project.json, чтобы посмотреть, решит ли это проблему. Кажется, что пакеты восстановлены, но они продолжают давать сбой из-за отсутствия разделов project.json.

Разрешение

@david-ebbo любезно предоставил рекомендации. В его тестовом репозитории вы найдете deploy.cmd и .deployment файлы. Скопируйте оба в корень вашего репо. Затем обновите строку 74 файла deploy.cmd, чтобы она указывала на ваш файл .csproj. Развертывание из GitHub теперь должно завершиться успешно.


person John Hoerr    schedule 19.11.2016    source источник


Ответы (1)


Аналогично https://github.com/projectkudu/kudu/issues/2236.

Генератор сценариев Kudu еще не знает, как работать с Preview3, но вы сможете использовать собственный сценарий развертывания. Ключевым моментом является использование «восстановления dotnet» вместо «восстановления nuget» и «публикации dotnet» вместо «msbuild». См. пример здесь.

Мы исправим Kudu, чтобы справиться с этим в ближайшее время.

person David Ebbo    schedule 19.11.2016
comment
Спасибо, Дэвид! Пример сценария выглядит очень полезным. - person John Hoerr; 20.11.2016
comment
Вот еще один, который был создан с помощью VS 2017 RC и также использует библиотеку: github.com/davidebbo- тест/MvcCoreVS2017RC - person David Ebbo; 20.11.2016
comment
^^^ Отлично сработало. Благодарю вас! Я собираюсь обновить свой вопрос, чтобы выделить решение. - person John Hoerr; 21.11.2016