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"に設定されていることを確認し、ビルドを実行します。
ビルド後、出力フォルダを開きます。下図のファイルが作成されています。通常のビルドよりファイル数がとても多いです。
通常のビルドの場合の出力フォルダは下図です。
プロジェクトを発行します。今回はフォルダに発行します。
プロジェクト発行先のディレクトリを確認します。ビルド結果ではファイル数が非常に多い状態ですが。
発行時にはファイル数が大幅に減っています。少数のファイルにまとめられて出力されるようです。