ASP.NET Core アプリケーションを実行すると "500.30" エラー "Could not load file or assembly 'Microsoft.Extensions.Primitive'" エラーが発生しアプリケーションが起動できない

ASP.NET Core アプリケーションを実行すると "500.30" エラー "Could not load file or assembly 'Microsoft.Extensions.Primitive'" エラーが発生しアプリケーションが起動できない現象と対処法の紹介です。

現象

ASP.NET Core アプリケーションを実行すると、Webブラウザに以下のエラーが表示されます。

実行時エラーメッセージ
HTTP Error 500.30 - ASP.NET Core app failed to start

ASP.NET Core アプリケーションを実行すると

イベントビューアーでもエラーが記録され、以下のイベントが記録されています。

エラーメッセージ
Application: w3wp.exe
CoreCLR Version: 8.0.23.53103
.NET Version: 8.0.0
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Extensions.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. 指定されたファイルが見つかりません。
File name: 'Microsoft.Extensions.Primitives, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
   at Microsoft.Extensions.Logging.LoggingBuilderExtensions.AddConfiguration(ILoggingBuilder builder, IConfiguration configuration)
   at Microsoft.Extensions.Hosting.HostingHostBuilderExtensions.<>c__DisplayClass16_0.<AddDefaultServices>b__0(ILoggingBuilder logging)
   at Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(IServiceCollection services, Action 1 configure)
   at Microsoft.Extensions.Hosting.HostingHostBuilderExtensions.AddDefaultServices(HostBuilderContext hostingContext, IServiceCollection services)
   at Microsoft.Extensions.Hosting.HostApplicationBuilder..ctor(HostApplicationBuilderSettings settings)
   at Microsoft.AspNetCore.Builder.WebApplicationBuilder..ctor(WebApplicationOptions options, Action 1 configureDefaults)
   at Microsoft.AspNetCore.Builder.WebApplication.CreateBuilder(String[] args)

ASP.NET Core アプリケーションを実行すると

原因

インストールされていないライブラリを読み込もうとしてアセンブリがないことが原因と考えられます。
.NET 8.0 のアプリケーションですが、アプリケーションで、Microsoft.Extensions.Primitives, Version=9.0.0.0 を読み込もうとしており、ライブラリは.NET 9のものをロードしようとしています。

通常、Microsoft.Extensions.Primitivesは新しいバージョンに更新されない動作ですが、ASP.NET Core アプリケーションで利用しているパッケージライブラリの 更新時に、Microsoft.Extensions.Primitivesも何らかの理由で9.0系のバージョンに更新されてしまった可能性が考えられます。

対処法1: Microsoft.Extensions.Primitives のバージョンを 8.0 に戻す

Microsoft.Extensions.Primitives のバージョンを 8.0 に戻す方法があります。 プロジェクト内で利用しているパッケージライブラリが、Microsoft.Extensions.Primitives のバージョン9に依存している場合は、 参照しているパッケージライブラリのバージョンも8.0のバージョンのライブラリに下げます。

ASP.NET Core アプリケーションを実行すると
ASP.NET Core アプリケーションを実行すると

対処法2: ASP.NET Core 9 Runtime Windows Hosting Bundleをインストールする

ASP.NET Core 9 Runtime Windows Hosting Bundleをインストールすると、.NET 9のライブラリを参照できるため、エラーが解消できる場合があります。
ASP.NET Core 9 の Windows Hosting Bundleのインストールはこちらの記事を参照してください。

対処法3: .NET 9 にアプリケーションのターゲットフレームワークを更新する

.NET 9 にアプリケーションのターゲットフレームワークを更新します。
サーバー側には、ASP.NET Core 9 Runtime Windows Hosting Bundle のインストールも必要です。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2025-02-01
Copyright © 1995–2025 iPentec all rights reserverd.