---
title: "パッチファイルを使ってSitecoreの設定をカスタマイズしてください"
slug: "use-a-patch-file-to-customize-the-sitecore-configuration"
abstract: "パッチファイルを使ってサーバーの設定を追加または変更する方法。"
---
# パッチファイルを使ってSitecoreの設定をカスタマイズしてください

パッチファイルを使ってSitecore.configファイルの設定を追加・変更できます。SitecoreAIパッチファイルをSitecore.configファイルとマージして、実行時に使われる設定ファイルを作成します。

このウォークスルーでは、以下の方法を説明します:

1.  パッチファイルを作成する
2.  設定の適用方法をコントロールしてください
3.  設定ファイルのロードオーダーを制御する
4.  設定を適用してください

## パッチファイルを作成する

設定をカスタマイズするためのパッチファイルを作成するには:

1.  カスタマイズ [可能な2つのレイヤー](https://doc.sitecore.com/sai/ja/developers/sitecoreai/development/configuration-layers.html "Configuration layers")のいずれかでファイルを作成します:
    
    -   システム環境に依存しない形でデフォルトSitecoreAI設定をカスタマイズするには、パッチファイルを <project root>/authoring/platform/App\_Config/Include/ フォルダ(カスタムレイヤーに属する)に入れてください。
    -   QAや開発など特定の環境向けにSitecoreAIを設定するには、パッチファイルを <project root>/authoring/platform/App\_Config/Environment フォルダ(環境レイヤーに属します)に配置します。
2.  App\_Configファイルや関連するレイヤーディレクトリ(IncludeまたはEnvironment)、そしてカスタム設定ファイルが、使用している開発環境(例えばVisual Studio)のプロジェクトに明示的に含まれていることを確認してください。
    
    ![Including a configuration file in an XM Cloud project using Visual Studio Code.](https://doc.sitecore.com/api/markdown-image/sai/ja/developers/sitecoreai/images/PatchConfigIncludeProject.png)
    
3.  パッチファイルには拡張子名で終わる名前を付け .config。
    
4.  まずファイル内の基本的な構造から始めます:
    
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <sitecore>
    </sitecore>
    </configuration>
    
5.  パッチファイルの <sitecore> セクションで、設定に追加したい設定変更を追加してください。
    
    > !注パッチはapp\_config/sitecore.configファイル内でのみ可能です。 web.configやapp\_config/layers.configファイルなど他のファイルの設定はパッチ適用できません。これらのファイルの設定を変更する場合は、必ず直接編集してください。
    

## 設定の適用方法をコントロールしてください

SitecoreAIがパッチファイルからの変更を適用する際、パッチファイル内の各要素を既存の構成内の要素と、要素名とすべての属性の組み合わせを用いてマッチングしようとします。一致があれば、SitecoreAIは既存の要素を更新します。一致しなければ、SitecoreAIが新しい要素を挿入します。

> !注パッチファイル要素が既存の構成内の複数の要素と一致した場合、SitecoreAIは最初に見つけた一致する要素に更新を適用します。したがって、その要素を一意に識別できるよう、十分な属性を指定することを強くお勧めします。

デフォルトでは、SitecoreAIは構成セクションの最後に、それらが属する要素を挿入します。

SitecoreAIの要素挿入方法を制御するには:

1.  属性を使って設定を変更または追加できるXML名前空間patchsetを登録し、それらを<configuration>設定に追加してください:
    
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"
    xmlns:set="http://www.sitecore.net/xmlconfig/set/">
    
2.  patch:属性を使って、要素が既存の要素に対してどこに配置されているか、または同名の既存要素を置き換えたり更新したりするかどうかを指定します。以下の属性を使用できます:
    
    -   patch:before – は指定された要素の前に要素を挿入します。
    -   patch:after – は指定された要素の後に要素を挿入します。
    -   patch:attribute – は、要素の指定された属性を定義または置き換えます。同じ効果は set 名前空間でも実現できます。
    -   patch:delete – は指定された要素を除去します。
    -   patch:instead – は指定された要素を置き換えます。
    
    例えば、既存のサイトwebsitemysiteの前に置くには、以下の構文を用いてください。
    
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
     <sitecore>
     <sites>
     <site patch:before=”\\\*@name='website'” name=”mysite” ... />
     </sites>
     </sitecore>
    </configuration>
    

> !注 [パッチファイルの例](https://doc.sitecore.com/sai/ja/developers/sitecoreai/development/use-a-patch-file-to-customize-the-sitecore-configuration/configuration-patch-file-examples.html "Configuration patch file examples") を使ってSitecoreAIの設定を変更することができます。

## 設定ファイルのロードオーダーを制御する

SitecoreAIが設定ファイルを読み込む順序は重要です。なぜなら、ファイルに加えた変更は後で読み込まれるファイルによって修正または上書きされる可能性があるからです。SitecoreAIが複数のファイルで同じ設定を見つけた場合、最後に読み込んだファイルが前のバージョンを上書きします。

レイヤー内で設定ファイルの読み込み順序を制御するには:

1.  /App\_config/layers.configファイルで、レイヤーの定義に <loadOrder> 設定を追加してください:
    
    <layer name="Custom" includeFolder="/App\_Config/Custom/">
    <loadOrder>
    </loadOrder>
    </layer>
    
2.  <loadOrder>セクション内のファイルフォルダや個別ファイルを読み込みたい順に追加してください:
    
    <loadOrder>
    <add path="Folder23" type="Folder" />
    <add path="Folder9/sitespecific.config" type="File" />
    <add path="Folder1" type="Folder" />
    </loadOrder>
    

[SitecoreAI](https://doc.sitecore.com/sai/en/users/sitecoreai/sitecoreai.html)<loadOrder>設定に遭遇すると、設定ファイルを次の順番で読み込みます。

1.  <loadOrder>セクションで指定されたフォルダやファイルが最初に読み込まれ、リストの順に読み込まれます。前の例では、まずFolder23フォルダのファイルが読み込まれ、次にsitespecific.configファイル、そしてFolder1フォルダのファイルが読み込まれます.
2.  <loadOrder>セクションで指定されていないフォルダやファイルは2秒で読み込みます。アルファベット順に読み込まれます。フォルダのルートに配置されたファイルは、サブフォルダ内のファイルより先に読み込まれます。

## 設定を適用してください

最後に、変化を環境に押し付けましょう。それを行うには:

-   [変更を環境にデプロイ](https://doc.sitecore.com/sai/ja/developers/sitecoreai/sitecore-command-line-interface/deploy-your-changes-to-an-environment.html "Deploy your changes to an environment")する手順に従ってください。