ASP.NET Core アプリケーションでAOT (Ahead On Time) によるネイティブビルドをする - C#
ASP.NET CoreアプリケーションでAOT(Ahead On Time) を有効にしてネイティブビルドする手順を紹介します。
概要
こちらの記事では、コンソールアプリケーションでAOT(Ahead On Time) を有効にしてネイティブビルドする手順を紹介しました。
この記事では、ASP.NET Core アプリケーションでAOT(Ahead On Time) を有効にしてネイティブビルドする手順を紹介します。
手順
ASP.NET Core アプリケーションを作成します。
プロジェクト作成ダイアログの[フレームワーク]の設定で ".NET 7.0" を選択します。
プロジェクトファイルの設定
プロジェクトの作成後、ソリューションエクスプローラーのウィンドウでプロジェクトのノードをクリックして選択します。
プロジェクトのノードを右クリックします。
下図のポップアップメニューが表示されます。メニューの[プロジェクト ファイルの編集]の項目をクリックします。
プロジェクトファイルがコードで表示されます。
プロジェクトファイルを編集します。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>
PublishAot
タグを追記します。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<PublishAot>true</PublishAot>
</PropertyGroup>
</Project>
構成マネージャーの設定
構成マネージャーでx64プラットフォームのビルド構成を追加します。
追加の手順は
こちらの記事を参照してください。
プラットフォーム追加後、ウィンドウ上部の[ソリューション プラットフォーム]のドロップダウンリストボックスの項目が
"x64"に設定されていることを確認し、ビルドを実行します。
ビルド後、出力フォルダを開きます。下図のファイルが作成されています。通常のビルドよりファイル数がとても多いです。
通常のビルドの場合の出力フォルダは下図です。
プロジェクトの発行
プロジェクトを発行します。今回はフォルダに発行します。
プロジェクト発行先のディレクトリを確認します。ビルド結果ではファイル数が非常に多い状態ですが。
発行時にはファイル数が大幅に減っています。少数のファイルにまとめられて出力されるようです。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用