Problema
Depois de atualizar um aplicativo da Web .Net Core 2.2 Linux para o .Net Core 3.1 no Azure, o aplicativo fica inativo com um Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found
erro. Até fui criar um novo Linux Web App com o .Net Core 3.1 e depois que o prompt de comando do bash ainda está sendo exibido dotnet --list-runtimes
como 2.2.7
.
Detalhes
Site desativado
Logstream
o aplicativo de relatório está inativo porque não consegue encontrar o .net core 3.1.
Criou o novo aplicativo da web principal .net
Webapp linux 3.1 em North Central, mesmo problema
Garantiu que estava sendo executado no norte da América Central
De acordo com https://aspnetcoreon.azurewebsites.net/ , deve ter suporte completo ao .netCore 3.1
opt/dotnet/runtimes
lista 3, 3.0 e 3.0.0, mas não 3.1`
Variáveis ambientais
Minhas variáveis de ambiente na lista do Azure FRAMEWORK_VERSION = lts
, em vez de 3.1
Publicação
Este foi publicado a partir de um pipeline do azure devops ci usando uma tarefa de Implantação do AppService do Azure. 3.1 não estava disponível aqui, então eu escolhiLTS
Atualização 1
Parece que o culpado está faltando 3,1 na pilha da estrutura nas tarefas do Azure Devops Web App / Serviço da Web.
Sempre que publico no CI, a estrutura de aplicativos da web é atualizada para o que for selecionado neste menu suspenso. Se eu alterar manualmente a estrutura para 3.1 no Azure Web App, o site será exibido. Mas, na próxima publicação, ele volta a funcionar porque reverte a estrutura de volta às configurações no ci.
Nova pergunta
Como posso obter o pipeline do Azure Devops Release para publicar uma tarefa .net core 3.1?
Atualização 2
Post do fórum relacionado ao Azure Devops
Atualmente sendo investigado em 23/2/2020
.Net Core 3.1 implanta pipeline no Linux App Service
Soluções alternativas sugeridas
- Use o YML para o pipeline de lançamento e altere manualmente a versão de
3.0
para3.1
, anotada pela resposta e por este encadeamento - Atualize de uma
framework dependent
versão para aself contained
. Referência - Faça o downgrade para .NetCore 3.0
Respostas:
Corri para a mesma situação, usando as informações fornecidas, fui capaz de corrigir o problema, definindo o valor manualmente no arquivo .yml do Devops Pipelines Build. Parece que eles estão perdendo o valor da lista RunTime Stack. Se você atualizar manualmente o arquivo .yml dos processos de construção, como visto aqui:
Isso selecionará a versão apropriada da estrutura. Esperamos que isso resolva seu problema com a implantação do Pipeline de CI de Devops do Azure.
fonte
Uma solução mais fácil é digitar
DOTNETCORE|3.1
no menu suspenso Runtime Stack em devops. (Obrigado rdavisau!)fonte