ASP.NET Core アプリケーションを実行すると "500.30" エラー "Could not load file or assembly 'Microsoft.Extensions.Primitive'" エラーが発生しアプリケーションが起動できない現象と対処法の紹介です。
ASP.NET Core アプリケーションを実行すると、Webブラウザに以下のエラーが表示されます。
イベントビューアーでもエラーが記録され、以下のイベントが記録されています。
インストールされていないライブラリを読み込もうとしてアセンブリがないことが原因と考えられます。
.NET 8.0 のアプリケーションですが、アプリケーションで、Microsoft.Extensions.Primitives, Version=9.0.0.0
を読み込もうとしており、ライブラリは.NET 9のものをロードしようとしています。
通常、Microsoft.Extensions.Primitivesは新しいバージョンに更新されない動作ですが、ASP.NET Core アプリケーションで利用しているパッケージライブラリの
更新時に、Microsoft.Extensions.Primitivesも何らかの理由で9.0系のバージョンに更新されてしまった可能性が考えられます。
Microsoft.Extensions.Primitives のバージョンを 8.0 に戻す方法があります。
プロジェクト内で利用しているパッケージライブラリが、Microsoft.Extensions.Primitives のバージョン9に依存している場合は、
参照しているパッケージライブラリのバージョンも8.0のバージョンのライブラリに下げます。
ASP.NET Core 9 Runtime Windows Hosting Bundleをインストールすると、.NET 9のライブラリを参照できるため、エラーが解消できる場合があります。
ASP.NET Core 9 の Windows Hosting Bundleのインストールはこちらの記事を参照してください。
.NET 9 にアプリケーションのターゲットフレームワークを更新します。
サーバー側には、ASP.NET Core 9 Runtime Windows Hosting Bundle のインストールも必要です。