.NET Core 3.0へのアップグレード後にWebアプリをデプロイしようとしていますが、「サービスを利用できません」というメッセージが引き続き表示されます。 Kuduからdotnet
を実行しようとすると(dotnet webapp.dll
)次のエラーが発生します。
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found.
- The following frameworks were found:
2.1.10 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
2.1.12 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
2.1.13 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
2.2.5 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
2.2.6 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
2.2.7 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
The .NET Core frameworks can be found at:
- https://aka.ms/dotnet-download
MicrosoftのAzureガイド を使用して.NET Core 3.0をインストールしようとしましたが、成功しませんでした。
助言がありますか?
まったく同じ問題がありました。 Azure App Serviceは現在Net Core 3をサポートしていません。
一時的な回避策は、発行ツールを使用してVisual Studioから自己完結型アプリを構築することです。公開設定でフレームワーク依存から自己完結型に変更できます。それをAzureにデプロイするだけです。
また、DevOpsパイプラインを使用してこれを実行しようとしましたが、自己完結型ビルドを実行する方法を見つけることができませんでした。AzureがまもなくNet Core 3をサポートするため、パブリッシュは今のところ問題なく動作します。
それが役に立てば幸い:)
App Service DashboardのASP.NET Core で最新リリースを追跡できます。
Azureアプリサービス拡張機能(open app service-> extensions)を使用して、.net core 3.0 x86/64フレームワークを追加できます。次に、.net core 3.0アプリを公開します。
Azureが.NET Core 3.0をサポートするようになりました。自己完結型アプリなしで公開する方法については、この記事をご覧ください。
私の問題は、誤ったweb.configに関連していました。自己完結型アプリケーションに変更する場合は、web.configのaspNetCore-partを変更する必要があります。
新しいweb.config
<aspNetCore processPath=".\[your].exe"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"/>
古いweb.config
<aspNetCore processPath="dotnet"
arguments=".\[your].dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout" />
.net core 3.1 blazor server appをapp service linuxにデプロイしようとすると、同じエラーで失敗しました。そのため、私はそれをWindows .net Core 3.0 Webアプリに展開し、自己完結型でフレームワークに依存する(Windows x86)展開として機能しました。どうやら.net core 3.1ランタイムもこれらのサーバーにインストールされています。しかし、チェックしていません。