注
この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。
.NET Framework を使用すると、開発者と管理者は 、構成ファイルを通じてアプリケーションを実行する方法を制御し、柔軟性を実現できます。 構成ファイルは、必要に応じて変更できる XML ファイルです。 管理者は、アプリケーションがアクセスできる保護されたリソース、アプリケーションが使用するアセンブリのバージョン、リモート アプリケーションとオブジェクトの場所を制御できます。 開発者は、設定を構成ファイルに配置できるため、設定が変更されるたびにアプリケーションを再コンパイルする必要がなくなります。 このセクションでは、構成できる内容と、アプリケーションの構成が役立つ理由について説明します。
注
マネージド コードでは、 System.Configuration 名前空間のクラスを使用して構成ファイルから設定を読み取ることができますが、それらのファイルに設定を書き込むには使用できません。
この記事では、構成ファイルの構文について説明し、コンピューター、アプリケーション、セキュリティの 3 種類の構成ファイルに関する情報を提供します。
構成ファイルの形式
構成ファイルには、構成情報を設定する論理データ構造である要素が含まれています。 構成ファイル内では、タグを使用して要素の先頭と末尾をマークします。 たとえば、 <runtime>
要素は <runtime>
子要素</runtime>
で構成されます。 空の要素は、 <runtime/>
または <runtime></runtime>
として書き込まれます。
すべての XML ファイルと同様に、構成ファイルの構文では大文字と小文字が区別されます。
構成設定は、要素の開始タグ内の名前と値のペアである定義済みの属性を使用して指定します。 次の例では、version
要素の 2 つの属性 (href
と<codeBase>
) を指定します。この属性は、ランタイムがアセンブリを検索できる場所を指定します (詳細については、「アセンブリの場所の指定」を参照してください)。
<codeBase version="2.0.0.0"
href="http://www.litwareinc.com/myAssembly.dll"/>
マシン構成ファイル
コンピューター構成ファイル Machine.configには、コンピューター全体に適用される設定が含まれています。 このファイルは、\Config ディレクトリの %ランタイム インストール パス%にあります。 Machine.config には、マシン全体のアセンブリ バインド、組み込みの リモート処理チャネル、および ASP.NET の構成設定が含まれています。
構成システムは、最初に、<appSettings>要素と開発者が定義するその他の構成セクションをコンピューター構成ファイルで検索します。 その後、アプリケーションの構成ファイルを確認します。 コンピューター構成ファイルを管理しやすくするには、これらの設定をアプリケーション構成ファイルに配置することをお勧めします。 ただし、コンピューター構成ファイルに設定を配置すると、システムの保守性が高くなります。 たとえば、クライアントアプリケーションとサーバーアプリケーションの両方で使用されるサードパーティコンポーネントがある場合は、そのコンポーネントの設定を 1 か所に配置する方が簡単です。 この場合、コンピューター構成ファイルが設定に適しているため、2 つの異なるファイルに同じ設定はありません。
注
XCOPY を使用してアプリケーションをデプロイすると、コンピューター構成ファイルの設定はコピーされません。
共通言語ランタイムがアセンブリ バインドにコンピューター構成ファイルを使用する方法の詳細については、「 ランタイムがアセンブリを検索する方法」を参照してください。
アプリケーション構成ファイル
アプリケーション構成ファイルには、アプリに固有の設定が含まれています。 このファイルには、共通言語ランタイムが読み取る構成設定 (アセンブリ バインド ポリシー、リモート処理オブジェクトなど) と、アプリが読み取ることができる設定が含まれます。
アプリケーション構成ファイルの名前と場所は、アプリのホストによって異なります。次のいずれかになります。
実行可能ファイルをホストするアプリケーション。
これらのアプリには、開発時に開発者によって変更されるソース構成ファイルと、アプリと共に配布される出力ファイルという 2 つの構成ファイルがあります。
既定では、ソース構成ファイルの名前は App.config。Visual Studio で .NET Framework プロジェクトを作成すると、 App.config ファイルがプロジェクトに自動的に追加されます。 [ファイル>[新しいファイル]を選択して、手動でファイルを追加することもできます。 App.config ファイルをプロジェクト ディレクトリに配置し、その [出力ディレクトリにコピー] プロパティを [常にコピーする] または [新しい場合はコピー] に設定します。
アプリと共に配置される出力構成ファイルを作成するために、Visual Studio はコンパイル済みアセンブリが配置されているディレクトリにソース構成ファイルをコピーします。 このファイルの名前は <yourappname>.exe.configです。たとえば、myApp.exeという名前 の アプリには、 myApp.exe.configという名前の出力構成ファイルがあります。
場合によっては、Visual Studio によって出力構成ファイルが変更されることがあります。 詳細については、「 アプリ レベルでのバージョンのリダイレクト」を参照してください。
ASP。NET でホストされるアプリ。
ASP.NET 構成ファイルの詳細については、「 ASP.NET 構成設定」を参照してください。
セキュリティ構成ファイル
セキュリティ構成ファイルには、ポリシー レベルに関連付けられているコード グループ階層とアクセス許可セットに関する情報が含まれています。 コード アクセス セキュリティ ポリシー ツール (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
こちらも参照ください
.NET