Problem
Po uaktualnieniu .NET Core 2.2 Linux Web App do .Net Core 3.1 na platformie Azure aplikacja nie działa z Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found
błędem. Poszedłem nawet tak daleko, aby stworzyć nową Linuksową aplikację sieci Web z .Net Core 3.1, a po wierszu poleceń bash nadal wyświetla się dotnet --list-runtimes
jako 2.2.7
.
Detale
Witryna nie działa
Logstream
aplikacja raportująca jest wyłączona, ponieważ nie może znaleźć .net core 3.1.
Utworzono nową aplikację sieci web .net core
3.1 Aplikacja web linux w North Central, ten sam problem
Upewnij się, że działa w północno-środkowych Stanach Zjednoczonych
Według https://aspnetcoreon.azurewebsites.net/ , powinien mieć pełne wsparcie .netCore 3.1
opt/dotnet/runtimes
wymienia 3, 3.0 i 3.0.0, ale nie 3.1
Zmienne środowiska
Moje zmienne środowiskowe na liście platformy Azure FRAMEWORK_VERSION = lts
zamiast 3.1
Wydawniczy
Zostało to opublikowane z potoku Lazur Devops ci przy użyciu zadania Azure AppService Deploy. 3.1 nie było tutaj dostępne, więc wybrałemLTS
Aktualizacja 1
Wygląda na to, że winowajcą brakuje 3.1 ze stosu struktury w zadaniach aplikacji sieci Web / usługi Azure Devops.
Ilekroć publikuję z CI, platforma aplikacji sieci Web jest aktualizowana do wszystkiego, co zostanie wybrane w tym menu rozwijanym. Jeśli ręcznie zmienię ramę na 3.1 w aplikacji Azure Web App, witryna się pojawi. Ale potem kolejna publikacja wraca w dół, ponieważ przywraca ramę do ustawień w ci.
Nowe pytanie
Jak mogę uzyskać potoku Azure Devops Release do opublikowania zadania .net core 3.1?
Aktualizacja 2
Powiązany post na platformie Azure Devops
Obecnie badane na dzień 23.02.2020
.Net Core 3.1 wdraża potok w usłudze Linux App Service
Sugerowane obejścia
- Użyj YML do wydania potoku i ręcznie zmień wersję z
3.0
na3.1
, zaznaczoną przez odpowiedź i ten wątek - Uaktualnij z
framework dependent
wersji doself contained
. Odniesienie - Zmień na wersję .NetCore 3.0
Odpowiedzi:
Zetknąłem się z tą samą sytuacją, korzystając z podanych informacji, udało mi się rozwiązać problem, ustawiając wartość ręcznie w pliku .yml kompilacji Devops Pipelines. Wygląda na to, że po prostu brakuje im wartości z rozwijanego stosu RunTime. Jeśli ręcznie zaktualizujesz plik .yml procesów kompilacji, jak pokazano tutaj:
Spowoduje to wybranie odpowiedniej wersji frameworka. Mamy nadzieję, że to rozwiąże problem z wdrożeniem potoku Azure Devops CI.
źródło
Łatwiejszym rozwiązaniem jest pisanie
DOTNETCORE|3.1
w rozwijanym stosie Runtime Stack w devops. (Dzięki rdavisau!)źródło