目次

「aspnetcore.dll を読み込めませんでした。」エラーにより IIS Expressの起動に失敗し、ASP.NETアプリケーションをデバッグできない - Visual Studio

「aspnetcore.dll を読み込めませんでした。」エラーにより IIS Expressの起動に失敗し、ASP.NETアプリケーションをデバッグできない現象について紹介します。

現象

Visual Studio でASP.NET アプリケーションをデバッグ実行します。 通常であれば、IIS Express が起動し、デバッグ対象のプロジェクトのWebページが表示されますが、IIS Expressが起動状態にならず、 ASP.NETアプリケーションのページが表示されない状態のままとなります。

イベントビューアーを確認すると、IIS Expressの次のエラーが記録されています。
エラーメッセージ
イベント ID:2276
ワーカー プロセスは適切に初期化されなかったため、開始できませんでした。このデータはエラーです。



エラーメッセージ
イベント ID:2280
モジュール DLL C:\Program Files\IIS Express\aspnetcore.dll を読み込めませんでした。このデータはエラーです。


原因

いろいろな原因があると考えられます。
使用しているポートに問題がある場合もあり、その場合はIIS Expressで実行するポート番号を変更して正常に動作するか確認します。 詳しい設定手順はこちらの記事を参照してください。

別の要因として、ソリューションファイルの形式が古いと問題が発生する場合があります。
ソリューションファイルを編集すると問題が解消される場合があります。

VisualStudioVersion の値が 16.0.30503.244 になっています。
SolutionGuidの値も変更します。
問題が発生したslnファイル
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30503.244
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "(プロジェクト名)", "(プロジェクト名)\(プロジェクト名).csproj", "{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Debug|Any CPU.ActiveCfg = Release|Any CPU
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Debug|Any CPU.Build.0 = Release|Any CPU
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {EA9BA506-1FCF-499D-89C1-8F467FDE2068}
	EndGlobalSection
EndGlobal

VisualStudioVersion の値が 17.1.32210.238 になっています。
問題が発生しないslnファイル
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32210.238
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "(プロジェクト名)", "(プロジェクト名)\(プロジェクト名).csproj", "{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{1FD929D0-E02E-4AD0-B99C-9BD3B6C1193F}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {D5B28811-0E33-4696-A9D1-C0132AAC6352}
	EndGlobalSection
EndGlobal
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2022-02-18
iPentec all rights reserverd.