Я пытаюсь развернуть стандартное веб-приложение 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 теперь должно завершиться успешно.