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を愛用
掲載日: 2022-11-20
iPentec all rights reserverd.