ASP.NET Core のディレクトリ構造
-
[アーティクル]
-
-
publish ディレクトリには、dotnet publish コマンドによって生成された、アプリの展開可能な資産が含まれています。 ディレクトリには次のものが含まれます。
- アプリケーション ファイル
- 構成ファイル
- 静的な資産
- パッケージ
- ランタイム (自己完結型展開のみ)
アプリの種類 |
ディレクトリの構造 |
フレームワークに依存する実行可能ファイル (FDE) |
- publish†
- Views† MVC アプリ。ビューがプリコンパイルされていない場合
- Pages† MVC または Razor Pages アプリ。ページがプリコンパイルされていない場合
- wwwroot†
- *.dll ファイル
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- Windows では {ASSEMBLY NAME}{.EXTENSION}.exe 拡張子、macOS または Linux では拡張子なし
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS 展開)
- createdump (Linux createdump ユーティリティ)
- *.so (Linux 共有オブジェクト ライブラリ)
- *.a (macOS アーカイブ)
- *.dylib (macOS ダイナミック ライブラリ)
|
自己完結型の展開 (SCD) |
- publish†
- Views† MVC アプリ。ビューがプリコンパイルされていない場合
- Pages† MVC または Razor Pages アプリ。ページがプリコンパイルされていない場合
- wwwroot†
- *.dll ファイル
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- Windows では {ASSEMBLY NAME}{.EXTENSION} .exe 拡張子、macOS または Linux では拡張子なし
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS 展開)
|
†ディレクトリを示します
publish ディレクトリは、展開の "コンテンツ ルート パス" ("アプリケーション ベース パス" とも呼ばれます) を表します。 サーバー上で展開されたアプリの publish ディレクトリにどのような名前が指定されても、その場所がホストされたアプリへのサーバーの物理パスとして機能します。
Wwwroot ディレクトリが存在する場合は、静的資産のみが含まれます。
その他の技術情報
publish ディレクトリには、dotnet publish コマンドによって生成された、アプリの展開可能な資産が含まれています。 ディレクトリには次のものが含まれます。
- アプリケーション ファイル
- 構成ファイル
- 静的な資産
- パッケージ
- ランタイム (自己完結型展開のみ)
アプリの種類 |
ディレクトリの構造 |
フレームワークに依存する実行可能ファイル (FDE) |
- publish†
- Views† MVC アプリ。ビューがプリコンパイルされていない場合
- Pages† MVC または Razor Pages アプリ。ページがプリコンパイルされていない場合
- wwwroot†
- *.dll ファイル
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- Windows では {ASSEMBLY NAME}{.EXTENSION}.exe 拡張子、macOS または Linux では拡張子なし
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS 展開)
- createdump (Linux createdump ユーティリティ)
- *.so (Linux 共有オブジェクト ライブラリ)
- *.a (macOS アーカイブ)
- *.dylib (macOS ダイナミック ライブラリ)
|
自己完結型の展開 (SCD) |
- publish†
- Views† MVC アプリ。ビューがプリコンパイルされていない場合
- Pages† MVC または Razor Pages アプリ。ページがプリコンパイルされていない場合
- wwwroot†
- *.dll ファイル
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- Windows では {ASSEMBLY NAME}{.EXTENSION} .exe 拡張子、macOS または Linux では拡張子なし
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS 展開)
|
†ディレクトリを示します
publish ディレクトリは、展開の "コンテンツ ルート パス" ("アプリケーション ベース パス" とも呼ばれます) を表します。 サーバー上で展開されたアプリの publish ディレクトリにどのような名前が指定されても、その場所がホストされたアプリへのサーバーの物理パスとして機能します。
Wwwroot ディレクトリが存在する場合は、静的資産のみが含まれます。
その他の技術情報
publish ディレクトリには、dotnet publish コマンドによって生成された、アプリの展開可能な資産が含まれています。 ディレクトリには次のものが含まれます。
- アプリケーション ファイル
- 構成ファイル
- 静的な資産
- パッケージ
- ランタイム (自己完結型展開のみ)
アプリの種類 |
ディレクトリの構造 |
フレームワークに依存する実行可能ファイル (FDE) |
- publish†
- Views† MVC アプリ。ビューがプリコンパイルされていない場合
- Pages† MVC または Razor Pages アプリ。ページがプリコンパイルされていない場合
- wwwroot†
- *.dll ファイル
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- Windows では {ASSEMBLY NAME}{.EXTENSION} .exe 拡張子、macOS または Linux では拡張子なし
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS 展開)
- createdump (Linux createdump ユーティリティ)
- *.so (Linux 共有オブジェクト ライブラリ)
- *.a (macOS アーカイブ)
- *.dylib (macOS ダイナミック ライブラリ)
|
自己完結型の展開 (SCD) |
- publish†
- Views† MVC アプリ。ビューがプリコンパイルされていない場合
- Pages† MVC または Razor Pages アプリ。ページがプリコンパイルされていない場合
- wwwroot†
- *.dll ファイル
- {ASSEMBLY NAME}.deps.json
- {ASSEMBLY NAME}.dll
- {ASSEMBLY NAME}.exe
- {ASSEMBLY NAME}.pdb
- {ASSEMBLY NAME}.Views.dll
- {ASSEMBLY NAME}.Views.pdb
- {ASSEMBLY NAME}.runtimeconfig.json
- web.config (IIS 展開)
|
†ディレクトリを示します
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 ディレクトリには、読み取り/書き込みアクセス許可が必要です。 ファイルが書き込まれる追加のディレクトリには、読み取り/書き込みアクセス許可が必要です。
その他の技術情報