構成ファイル

更新 : 2011 年 3 月

構成ファイルは XML ファイルで、必要に応じて変更できます。 開発者は、構成ファイルを使用することにより、アプリケーションを再コンパイルすることなく設定を変更できます。 管理者の場合は、コンピューター上でアプリケーションをどのように実行するかに影響するポリシーを設定するために、構成ファイルを利用できます。

メモメモ

マネージ コードは、System.Configuration 名前空間のクラスを使用して、構成ファイルから設定を読み込むことができます。設定をファイルへ書き込むことはありません。

ここでは、構成ファイルの構文を説明し、3 種類の構成ファイル (マシン構成ファイル、アプリケーション構成ファイル、およびセキュリティ構成ファイル) について情報を提供します。

構成ファイルの形式

構成ファイルには、構成情報を設定する論理データ構造体である要素が含まれます。 構成ファイル内では、タグを使用して、それらの要素の先頭と末尾を示します。 たとえば、<runtime> 要素は、<runtime>子要素</runtime> で構成されます。 空の要素には、開始タグがありますが、終了タグはありません。

構成設定は、要素の開始タグの内部に、定義済みの属性の名前と値を組み合わせて使用することで指定します。 <codeBase> 要素に 2 つの属性 (version および href) を指定して、ランタイムがアセンブリを検索する場所を指定する例を次に示します。詳細については、「アセンブリの場所の指定」を参照してください。

<codeBase version="2.0.0.0"
          href="http://www.litwareinc.com/myAssembly.dll"/>
重要 :重要

XML ファイルと同様に、構成ファイル内の構文では、大文字と小文字が区別されます。

マシン構成ファイル

マシン構成ファイル Machine.config には、コンピューター全体に適用する設定を含めます。 このファイルは、%runtime install path%\Config ディレクトリに配置します。 Machine.config には、マシン全体のアセンブリ バインディング、組み込みのリモート処理チャネル、および ASP.NET に関する構成設定が含まれます。

構成システムは、まずマシン構成ファイル内で、appSettings 要素と、開発者が定義したその他の構成セクションを調べます。 次に、アプリケーション構成ファイルを調べます。 マシン構成ファイルを管理しやすくするには、これらの設定をアプリケーション構成ファイルに配置するのが最適です。 しかし、それらの設定をマシン構成ファイル内に配置した方が、システムの保守が簡単になります。 たとえば、クライアント アプリケーションとサーバー アプリケーションの両方で使用されるサードパーティ コンポーネントがある場合、そのコンポーネントの設定を 1 か所に設まとめた方が簡単です。 この場合、同じ設定を 2 つのファイルに配置する必要がなくなるという点から、設定を格納するのに適した場所はマシン構成ファイルになります。

メモメモ

XCOPY を使用してアプリケーションを配置しても、マシン構成ファイル内の設定はコピーされません。

共通言語ランタイムがアセンブリ バインディングに関してマシン構成ファイルを使用する方法の詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。

アプリケーション構成ファイル

アプリケーション構成ファイルには、アプリケーション固有の設定を含めます。 このファイルには、アセンブリ バインディング ポリシー、リモート処理オブジェクトなど、共通言語ランタイムが読み取る構成設定と、アプリケーションが読み取ることのできる設定を含めます。

アプリケーション構成ファイルの名前と場所は、アプリケーションのホストによって異なり、次のいずれかの場合が考えられます。

  • 実行可能ファイルによってホストされるアプリケーション

    実行可能なホストによってホストされるアプリケーションの構成ファイルは、そのアプリケーションと同じディレクトリに配置されます。 この構成ファイルの名前は、アプリケーション名に拡張子 .config を付けた名前になります。 たとえば、myApp.exe という名前のアプリケーションには、myApp.exe.config という名前の構成ファイルを関連付けることができます。

    メモメモ

    Visual Studio プロジェクトでは、プロジェクト ディレクトリに .config ファイルを配置し、その [出力ディレクトリにコピー] プロパティを [常にコピーする] または [新しい場合はコピーする] に設定します。Visual Studio が、アセンブリをコンパイルするディレクトリにこのファイルを自動的にコピーします。

  • ASP.NET によってホストされるアプリケーション

    ASP.NET 構成ファイルの詳細については、「ASP.NET 構成設定」を参照してください。

  • Internet Explorer によってホストされるアプリケーション

    Internet Explorer でホストされるアプリケーションに構成ファイルが関連付けられている場合、そのファイルの場所は、<link> タグ内に次の構文で指定します。

    <link rel="ConfigurationFileName" href="location">

    このタグ内の location は、構成ファイルの場所を示す URL です。 これにより、アプリケーション ベースが設定されます。 構成ファイルは、アプリケーションと同じ Web サイトに配置する必要があります。

セキュリティ構成ファイル

セキュリティ構成ファイルには、コード グループ階層構造に関する情報と、ポリシー レベルに関連付けたアクセス許可セットを含めます。 セキュリティ ポリシーを変更するときは、ポリシーの変更によってセキュリティ構成ファイルが破損しないように、.NET Framework 構成ツール (Mscorcfg.msc) またはコード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用することを強くお勧めします。

メモメモ

.NET Framework 4 以降では、セキュリティ構成ファイルはセキュリティ ポリシーが変更された場合にのみ存在します。

セキュリティ構成ファイルは次の場所にあります。

  • エンタープライズ ポリシー構成ファイル: %runtime-install-path%\Config\Enterprisesec.config

  • コンピューター ポリシー構成ファイル: %runtime-install-path%\Config\Security.config

  • ユーザー ポリシー構成ファイル: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

参照

参照

Mscorcfg.msc (.NET Framework 構成ツール)

Caspol.exe (コード アクセス セキュリティ ポリシー ツール)

概念

アセンブリの場所の指定

アセンブリ バージョンのリダイレクト

共通言語ランタイムのアセンブリ

その他の技術情報

.NET Framework の構成ファイル スキーマ

ASP.NET 構成設定

セキュリティ ポリシーの管理

Remote Objects

履歴の変更

日付

履歴

理由

2011 年 3 月

セキュリティ構成ファイルに関する情報を更新。

コンテンツ バグ修正