проблема
После обновления .Net Core 2.2 Linux Web App до .Net Core 3.1 в Azure приложение не работает с Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found
ошибкой. Я даже зашел так далеко, что создал новое веб-приложение для Linux с .Net Core 3.1, и после командной строки bash все еще выводил dotnet --list-runtimes
как 2.2.7
.
подробности
Сайт не работает
Logstream
приложение для отчетов не работает, потому что оно не может найти ядро .net 3.1.
Создано новое основное веб-приложение .net
3.1 веб-приложение Linux в Северной и Центральной, та же проблема
Гарантировал, что это бежало в Северном Центральном США.
Согласно https://aspnetcoreon.azurewebsites.net/ , должна иметь полную поддержку .netCore 3.1
opt/dotnet/runtimes
списки 3, 3.0 и 3.0.0, но нет 3.1`
Переменные среды
Мои переменные среды в списке Azure FRAMEWORK_VERSION = lts
вместо 3.1
Издательский
Это было опубликовано в конвейере Azure Devops ci с помощью задачи Azure AppService Deploy. 3.1 здесь не было, поэтому я выбралLTS
Обновление 1
Похоже, виновник отсутствует в стеке платформы в задачах веб-приложения Azure Devops / веб-службы.
Всякий раз, когда я публикуюсь из CI, платформа веб-приложения обновляется до того, что выбрано в этом раскрывающемся списке. Если я вручную перейду с фреймворка на 3.1 в веб-приложении Azure, появится сайт. Но затем следующая публикация возвращается обратно, потому что возвращает фреймворк обратно к настройкам в ci.
Новый вопрос
Как получить конвейер выпуска Azure Devops для публикации задачи .net core 3.1?
Обновление 2
Связанное сообщение форума Azure Devops
В настоящее время ведется расследование по состоянию на 23.02.2020 г.
.Net Core 3.1 развернуть конвейер для службы приложений Linux
Предлагаемые обходные пути
- Используйте YML для конвейера выпуска и вручную измените версию с
3.0
на3.1
, отмеченную ответом и этим потоком. - Обновление с
framework dependent
версии доself contained
. Ссылка - Переход на .NetCore 3.0
Ответы:
Я столкнулся с той же ситуацией, используя предоставленную вами информацию. Я смог решить проблему, установив значение вручную в файле Devym Pipelines Build .yml. Кажется, им просто не хватает значения из выпадающего списка RunTime Stack. Если вы вручную обновите файл .yml процессов сборки, как показано здесь:
Это выберет правильную версию фреймворка. Надеемся, что это исправит вашу проблему с развертыванием Azure Devops CI Pipeline.
источник
Более простое решение - ввести
DOTNETCORE|3.1
выпадающий список в стеке времени выполнения. (Спасибо, Рдависау!)источник