---
title: "アプリケーション構造"
slug: "application-structure"
abstract: "Sitecoreホストアプリケーションの慣例を説明します。"
---
# アプリケーション構造

Sitecoreホストアプリケーションは、単純なファイルおよびディレクトリの規則に従っています。これらの規則により、ユーザーはアプリケーションに属するファイル(ユーザーが直接変更してはいけないもの)や、ユーザーが変更可能なファイルが提供されているものを識別できます。また、どのファイルが異なる環境(例えば、本番環境、ステージング、開発)で使われているかも明確に示しています。

## ルートフォルダー

ルートフォルダーはSitecoreホストアプリケーションの基本的なフォルダ構造を定義しています:

SitecoreHostApplication (Root)
├── \*.dll
├── sitecorehost.xml
└── sitecorehost.<env>.xml

-   すべてのコードライブラリ(\*.dlls)はアプリケーションのルートにあります。
-   (オプション)ライブラリの隣にはsitecorehost.xml設定ファイルがあります。このファイルはホスト自体の構成Sitecore制御します(ホスト上で動作するアプリケーションではありません)。
-   (任意)環境固有の設定ファイル(例: sitecorehost.production.xmlやsitecorehost.development.xml)が1つ以上存在できます。これらのファイルは、アプリケーションがその環境のモードで動作している際に使われる設定とsitecorehost.xml設定を追加またはオーバーライドします。

.NETの実行時環境に特有の追加のフォルダやファイルも存在可能です。図を簡単に保つためにここでは示していません。

## アプリケーションアセット

Sitecoreホストアプリケーションは、設定ファイル、コンテンツ、MVCビュー、その他の物理ファイルなどの他のコア資産を提供できます。アプリケーションに追加すると、これらのフォルダはルートフォルダ内でも利用可能です。

SitecoreHostApplication (Root)
├── content/
│ ├── js/
│ │ └── \*.js
│ └── style/
│ └── \*.css
├── config/
│ ├── config.xml
│ └── <env>
└── views/
 └── home/
 └──\*.cshtml

フォルダには以下のアプリケーション資産が含まれています:

-   content - アプリケーションが提供可能な物理ファイル。
-   config - アプリケーションが必要とする設定ファイル。
-   views\- アプリケーションが使用する任意のMVCビュー。
-   (任意) - アプリケーション開発者が追加したその他のフォルダ。

## 設定環境フォルダ

Sitecore configフォルダ内の設定ファイルを名前で、昇順にアルファベット順に読み込みます。Sitecoreが現在の環境と同じ名前のフォルダを見つけた場合、そのフォルダ内の設定ファイルを使ってconfigフォルダのルート設定ファイルを修正します。

## Sitecoreフォルダ

ホストSitecoreアプリケーションは1つ以上のプラグインライブラリを参照することができます。プラグインライブラリは、他の依存ライブラリの隣にアプリケーションのルートに追加されます。プラグインライブラリが提供する追加のアセットは、アプリケーションのルートにあるsitecorefolderにあります:

SitecoreHostApplication (Root)
└── sitecore/
 ├── Plugin.Alpha/
 │ ├── sitecore.plugin.manifest
 │ ├── content/
 │ └── config/
 │ └── <env>
 └── Plugin.Beta/
 ├── sitecore.plugin.manifest
 ├── content/
 └── config/
 └── <env>

プラグインには以下の特徴があります:

-   各プラグインには固有のフォルダがあります。
-   各プラグインフォルダには必ず少なくともsitecore.plugin.manifest ファイルが含まれています。
-   プラグインフォルダ内の他のすべてのフォルダはオプションで、Sitecoreホストの資産モデルの機能をミラーリングしています。

## SitecoreRuntimeフォルダ

SitecoreRuntimeフォルダーは、Sitecoreホストアプリケーションのコンシューマーがアプリケーションの拡張や修正に使用する特別なフォルダです。

このフォルダ内の各直接子フォルダは、特定のランタイム環境(本番環境、開発など)を表します。

SitecoreHostApplication (Root)
└── sitecoreruntime/
 └── <env>/
 ├── \*.dll
 ├── sitecorehost.xml
 ├── content/
 ├── config/
 └── sitecore/
 └── Plugin.B/
 ├── sitecore.plugin.manifest
 ├── content/
 └── config/
 └── <env>

SitecoreRuntimeフォルダーの特徴は以下の通りです:

-   各フォルダは環境のストアとして機能します。
-   基本構造はメインホストアプリケーションの構造を模倣しています。
-   Sitecoreは実行時にフォルダ内のライブラリを読み込みます。
-   オプションのコアコンテンツは他のオプションコンテンツをパッチやオーバーライドに割り当てます。
-   フォルダに sitecorehost.xmlファイルが含まれている場合、Sitecoreはホストアプリケーションのルートにある sitecorehost.\* ファイルの後にパッチを当て、ランタイムフォルダ内の他の sitecorehost.\* ファイルは無視します。
-   環境フォルダは独自の SitecoreRuntime フォルダーをサポートしていません。

SitecoreRuntimeフォルダには、Sitecoreホストアプリケーションを動かすためのSitecoreライセンスファイルを置く場所でもあります。