ASP.NET Core のディレクトリ構造
Note
これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、「.NET および .NET Core サポート ポリシー」を参照してください。 現在のリリースについては、この記事の .NET 8 バージョンを参照してください。
重要
この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。
現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
publish ディレクトリには、dotnet publish コマンドによって生成された、アプリの展開可能な資産が含まれています。 ディレクトリには次のものが含まれます。
- アプリケーション ファイル
- 構成ファイル
- 静的な資産
- パッケージ
- ランタイム (自己完結型展開のみ)
アプリの種類 | ディレクトリの構造 |
---|---|
フレームワークに依存する実行可能ファイル (FDE) |
|
自己完結型の展開 (SCD) |
|
†ディレクトリを示します
publish ディレクトリは、展開の "コンテンツ ルート パス" ("アプリケーション ベース パス" とも呼ばれます) を表します。 サーバー上で展開されたアプリの publish ディレクトリにどのような名前が指定されても、その場所がホストされたアプリへのサーバーの物理パスとして機能します。
Wwwroot ディレクトリが存在する場合は、静的資産のみが含まれます。
その他の技術情報
publish ディレクトリには、dotnet publish コマンドによって生成された、アプリの展開可能な資産が含まれています。 ディレクトリには次のものが含まれます。
- アプリケーション ファイル
- 構成ファイル
- 静的な資産
- パッケージ
- ランタイム (自己完結型展開のみ)
アプリの種類 | ディレクトリの構造 |
---|---|
フレームワークに依存する実行可能ファイル (FDE) |
|
自己完結型の展開 (SCD) |
|
†ディレクトリを示します
publish ディレクトリは、展開の "コンテンツ ルート パス" ("アプリケーション ベース パス" とも呼ばれます) を表します。 サーバー上で展開されたアプリの publish ディレクトリにどのような名前が指定されても、その場所がホストされたアプリへのサーバーの物理パスとして機能します。
Wwwroot ディレクトリが存在する場合は、静的資産のみが含まれます。
その他の技術情報
publish ディレクトリには、dotnet publish コマンドによって生成された、アプリの展開可能な資産が含まれています。 ディレクトリには次のものが含まれます。
- アプリケーション ファイル
- 構成ファイル
- 静的な資産
- パッケージ
- ランタイム (自己完結型展開のみ)
アプリの種類 | ディレクトリの構造 |
---|---|
フレームワークに依存する実行可能ファイル (FDE) |
|
自己完結型の展開 (SCD) |
|
†ディレクトリを示します
publish ディレクトリは、展開の "コンテンツ ルート パス" ("アプリケーション ベース パス" とも呼ばれます) を表します。 サーバー上で展開されたアプリの publish ディレクトリにどのような名前が指定されても、その場所がホストされたアプリへのサーバーの物理パスとして機能します。
Wwwroot ディレクトリが存在する場合は、静的資産のみが含まれます。
ASP.NET Core モジュールの強化されたデバッグ ログでは、Logs フォルダーを作成すると便利です。 <handlerSetting>
値に提供されるパスのフォルダーがこのモジュールによって自動的に作成されることはありません。デバッグ ログの書き込みをモジュールに許可するには、フォルダーがデプロイに事前に存在する必要があります。
Logs ディレクトリは、次の 2 つの方法のいずれかを使って展開用に作成できます。
プロジェクト ファイルに次の
<Target>
要素を追加します。<Target Name="CreateLogsFolder" AfterTargets="Publish"> <MakeDir Directories="$(PublishDir)Logs" Condition="!Exists('$(PublishDir)Logs')" /> <WriteLinesToFile File="$(PublishDir)Logs\.log" Lines="Generated file" Overwrite="True" Condition="!Exists('$(PublishDir)Logs\.log')" /> </Target>
<MakeDir>
要素は、公開される出力に空の Logs フォルダーを作成します。 この要素は、PublishDir
プロパティを使って、フォルダーを作成するためのターゲットの場所を決定します。 Web 配置などの複数の展開方法は、展開の間に空のフォルダーをスキップします。<WriteLinesToFile>
要素は Logs フォルダーにファイルを生成します。これは、サーバーへのフォルダーの展開を保証します。 ワーカー プロセスにターゲット フォルダーへの書き込みアクセス許可がない場合、このアプローチを使用したフォルダーの作成は失敗します。展開内のサーバー上に Logs ディレクトリを物理的に作成します。
展開ディレクトリには、読み取り/実行アクセス許可が必要です。 Logs ディレクトリには、読み取り/書き込みアクセス許可が必要です。 ファイルが書き込まれる追加のディレクトリには、読み取り/書き込みアクセス許可が必要です。
その他の技術情報
ASP.NET Core