ASP.NET Core プロジェクトでないアプリケーションに Microsoft.AspNetCore.App フレームワークの参照を追加する - ASP.NET Core

ASP.NET Core プロジェクトでないアプリケーションに Microsoft.AspNetCore.App フレームワークの参照を追加する手順を紹介します。

概要

ASP.NET Core プロジェクトでないアプリケーションに Microsoft.AspNetCore.App フレームワークの参照を追加する場合は、プロジェクトファイルを修正します。 プロジェクトファイルにItemGroupタグを記述し、FrameworkReference に "Microsoft.AspNetCore.App" の参照を追加することで Microsoft.AspNetCore.App フレームワークの参照を追加できます。

コンソールアプリケーションの場合

.NET Core アプリケーションのコンソールアプリケーションを作成します。


右側の[ソリューションエクスプローラ]ウィンドウで依存関係を確認します。[依存関係]ノードの[フレームワーク]のノードを展開します。 "Microsoft.NETCore.App" のフレームワークの参照のみが追加されています。


この状態で、Program.cs に using Microsoft.AspNetCore.Http を記述します。ASP.NET Coreのフレームワークの参照が無いため、 Microsoft.AspNetCore.Http が見つからずにコンパイルエラーになります。

補足
ASP.NET Core アプリケーションの場合には、フレームワークの参照に "Microsoft.SspNetCore.App" の参照が追加されているため、 Microsoft.AspNetCore.Http の参照ができるためエラーは発生しません。


ソリューションエクスプローラーのウィンドウでプロジェクトのノードをクリックして選択します。右クリックしてポップアップメニューを表示します。 メニューの[プロジェクトファイルの編集]の項目をクリックします。


中央のエディタウィンドウにプロジェクトファイルのコードが表示されます。
.NET 5でのプロジェクトのため、TargetFramework の値がnet5.0になっています。.NET Core 3.1 の場合も同じ手順で対応できます。


プロジェクトファイルのコードを下記に変更します。
ItemGroup タグを記述し内部に、FrameworkReference タグを記述します。Include 属性に Microsoft.AspNetCore.App を記述します。
変更前
<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<OutputType>Exe</OutputType>
		<TargetFramework>net5.0</TargetFramework>
	</PropertyGroup>
</Project>
変更後
<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<OutputType>Exe</OutputType>
		<TargetFramework>net5.0</TargetFramework>
	</PropertyGroup>
	<ItemGroup>
		<FrameworkReference Include="Microsoft.AspNetCore.App" />
	</ItemGroup>
</Project>


プロジェクトファイルを保存します。プロジェクトファイルの変更が反映され、ソリューションエクスプローラーの[依存関係]ノードの[フレームワーク]のノードに Microsoft.AspNetCore.App の項目が追加されます。


フレームワークの参照が追加された状態で、プロジェクトをビルドします。using Microsoft.AspNetCore.Http の参照ができるようになり、 ビルドエラーは発生しなくなります。


上記の手順でコンソールアプリケーションに Microsoft.AspNetCore.App のフレームワークの参照を追加できました。

クラスライブラリの場合

クラスライブラリの場合も同様の手順で追加できます。

.NET Core のクラスライブラリを作成します。


作成直後の状態では、ソリューションエクスプローラーの[依存関係]の[フレームワーク]のノード内には Microsoft.NETCore.App の参照のみが追加されています。


using Microsoft.AspNetCore.Http を記述してビルドしてもASP.NET Coreのフレームワークの参照が無いためビルドエラーになります。


ソリューションエクスプローラーのウィンドウでプロジェクトのノードをクリックして選択します。右クリックしてポップアップメニューを表示します。 メニューの[プロジェクトファイルの編集]の項目をクリックします。


中央のエディタウィンドウにプロジェクトファイルのコードが表示されます。
.NET 5でのプロジェクトのため、TargetFramework の値がnet5.0になっています。.NET Core 3.1 の場合も同じ手順で対応できます。

プロジェクトファイルのコードを下記に変更します。
ItemGroup タグを記述し内部に、FrameworkReference タグを記述します。Include 属性に Microsoft.AspNetCore.App を記述します。
変更前
<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<TargetFramework>net5.0</TargetFramework>
	</PropertyGroup>
</Project>
変更後
<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<TargetFramework>net5.0</TargetFramework>
	</PropertyGroup>

	<ItemGroup>
		<FrameworkReference Include="Microsoft.AspNetCore.App" />
	</ItemGroup>
</Project>


プロジェクトファイルを保存します。プロジェクトファイルの変更が反映され、ソリューションエクスプローラーの[依存関係]ノードの[フレームワーク]のノードに Microsoft.AspNetCore.App の項目が追加されます。


フレームワークの参照が追加された状態で、プロジェクトをビルドします。using Microsoft.AspNetCore.Http の参照ができるようになり、 ビルドエラーは発生しなくなります。


上記の手順でクラスライブラリに Microsoft.AspNetCore.App のフレームワークの参照を追加できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2020-12-29
作成日: 2020-12-29
iPentec all rights reserverd.