格納および Visual C# を使用して、アプリケーション構成ファイルからカスタム情報を取得する方法

Microsoft Visual Basic .NET 版のこの資料には、次を参照してください。
313405
この資料は、次の Microsoft.NET Framework クラス ライブラリの名前空間を参照します。
  • System.Configuration

概要

この資料では、関連付けられたアプリケーションによって実行時に取得できる構成 (.config) ファイルにカスタム情報を格納する方法について説明します。アプリケーションに関連付けられているデータを定義する必要がある場合に便利です。

先頭に戻る

要件

推奨されるハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および必要な service pack は次をとおり。
  • Microsoft Windows 2000、Windows XP、Windows Server 2003、Windows Vista または Windows Server 2008
  • Microsoft Visual C#
この資料は次のトピックに精通している事を前提としています。
  • 拡張マークアップ言語 (XML)
  • .NET 構成ファイル
先頭に戻る

構成ファイルの内容を読み取るコンソール アプリケーションを作成します。

アプリケーションの設定は、アプリケーションに関連付けられている構成ファイルに格納できます。構成ファイルは、XML 形式で保存されます。

System.Configurationと Microsoft.NET Framework 内のエントリの名前空間には、実行時に .NET アプリケーションの構成ファイルから情報を取得するために必要なクラスが含まれます。

実行時に関連付けられている構成ファイルの内容を読み取るコンソール アプリケーションを作成するには、次の手順を実行します。
  1. Visual Studio .NET または Visual Studio 2005 を起動します。
  2. [ファイル] メニューのをポイントします。
    新規作成し、[プロジェクト] をクリックします。
  3. Visual C#の下をクリックします。
    プロジェクトの種類、し、[テンプレート] でコンソール アプリケーションをクリックします。プロジェクトを名前します。
    ConConfig。既定では、Visual C# クラスを作成するプログラムの名前は。

    注: Visual Studio .NET 2003 では、[ Visual C# プロジェクト] をクリックして.
    プロジェクトの種類、し、[テンプレート] でコンソール アプリケーションをクリックします。プロジェクトを名前します。
    ConConfig。既定では、Visual C# クラスを作成、Class1 という名前です。
  4. ソリューション エクスプ ローラー ウィンドウが表示されていることを確認します。表示されていない場合は、ctrl キーと alt キーを押しながら L キーの組み合わせを押します。
  5. ソリューション エクスプ ローラーでプロジェクト名を右クリックし、追加] をクリックし、[新しい項目] をクリックします。
  6. 新しい項目の追加] ボックスの一覧で選択する] をクリックします。
    XML ファイルです。
  7. ] テキスト ボックスに次のように入力します。
    App.configを入力し、
    追加します。

    注: Visual Studio .NET 2003 では、[開く] をクリックします。
  8. アプリケーション構成ファイルを使用すると、キー/値の形式で保存するカスタム アプリケーション設定を収集します。関連付けられている構成ファイルの< appSettings >セクションでは、 < add >要素を含めることができます。各キー/値ペアは、 < add >の 1 つの要素を持ちます。< Add >要素には、次の形式があります。
    <add key="Key0" value="0" />
    < Add >要素で、 < appSettings >セクションで、構成ファイルに追加の間で、
    < 構成 >
    < と構成 >タグです。

    たとえば、次の構成ファイルには、 < appSettings >セクションがあり、3 つのキー/値ペアを指定が含まれています。
    <?xml version="1.0" encoding="utf-8" ?><configuration>
    <appSettings>
    <add key="Key0" value="0" />
    <add key="Key1" value="1" />
    <add key="Key2" value="2" />
    </appSettings>
    </configuration>

  9. ソリューション エクスプ ローラーでダブルクリックします。
    Program.csのコード ウィンドウを表示します。コード モジュールに次のステートメントを追加します。

    注: これらのステートメントは、ファイル内の他のステートメントの前に表示する必要があります。
    using System.Configuration;using System.Collections.Specialized;
  10. System.Configuration.dll への参照を追加します。これを行うには、以下の手順を実行します。
    1. [プロジェクト] メニューの [参照の追加をクリックします。
    2. [参照の追加] ダイアログ ボックスで、[ .NET ] タブをクリックします。
    3. 検索し、System.Configuration のコンポーネント名を選択します。
    4. [OK] をクリックします。
  11. 内の構成ファイル キーから値を保持するために、
    構成ファイルの< appSettings >セクションでは、次のように [ Main ] セクションの文字列変数を宣言します。
     string  sAttr ;
  12. 構成ファイルの< appSettings >セクションから指定されたキーの値を取得するには、 ConfigurationManagerクラスのAppSettingsプロパティのGetメソッドを使用します。ConfigurationManagerクラスは、 System.Configuration名前空間です。AppSettings.Getメソッドは、キーを含む文字列の入力パラメーターを受信すると、アプリケーションは、キーに関連付けられている値を取得します。

    次のコードでは、関連付けられている構成ファイルからKey0属性の値を取得します。コードはこの値をsAttr文字列変数に格納します。この値のキーが存在しない場合は、 sAttrに何も格納されます。
    sAttr = ConfigurationManager.AppSettings.Get("Key0");
  13. コンソール ウィンドウで、アプリケーションを取得する値を表示するには、次のように行を使用します。
    Console.WriteLine("The value of Key0 is "+sAttr);
  14. AppSettingsプロパティへの参照を 1 つを使用すると、< appSettings >セクション内のすべてのキー/値ペアを取得します。AppSettingsプロパティを使用すると、アプリケーションは、すべての関連付けられているキーと値のペアを返します。NameValueCollection型では、これらのペアが格納されています。NameValueCollectionには、各アプリケーションを取得するキーのキーと値のエントリが含まれています。NameValueCollectionクラスは、エントリの名前空間です。
    NameValueCollection sAll ;sAll = ConfigurationManager.AppSettings;
  15. NameValueCollectionペアをプロパティでは、各アプリケーションを取得するキーのエントリを持つ文字列配列を参照します。Foreach構造を使用して、アプリケーションを取得する各キーにアクセスするのにはペアの配列を反復処理します。ペアの各キーのエントリは、文字列データ型です。

    Foreach構造で、内には、コンソール ウィンドウで、キーと関連付けられている値を表示するのにを使用します。"S"では、アプリケーションが処理している現在のキーです。関連付けられた値を取得するのにはsAllNameValueCollectionでのインデックスとして使用します。
       foreach (string s in sAll.AllKeys)      Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
    Console.ReadLine();
先頭に戻る

完全なコード リスト

using System;using System.Configuration;
using System.Collections.Specialized;

namespace ConConfig
{
class Program
{
static void Main(string[] args)
{
string sAttr;

// Read a particular key from the config file
sAttr = ConfigurationManager.AppSettings.Get("Key0");
Console.WriteLine("The value of Key0: " + sAttr);

// Read all the keys from the config file
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;

foreach (string s in sAll.AllKeys)
Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
Console.ReadLine();
}
}
}

注: このコードは、.NET Framework 2.0 を対象とします。.NET Framework 1.0 または.NET Framework 1.1 を使用する場合は、フレームConfigurationManagerクラスのすべてのインスタンスを変更します。
先頭に戻る

(ConConfig.exe.config) を一覧表示する構成ファイルを実行します。

<?xml version="1.0" encoding="utf-8" ?><configuration>
<appSettings>
<add key="Key0" value="0" />
<add key="Key1" value="1" />
<add key="Key2" value="2" />
</appSettings>
</configuration>

先頭に戻る

それが動作することを確認します。

F5 キーを押してコードを実行します。コンソール ウィンドウでは、関連付けられている構成ファイルの< appSettings >セクションからキーと値のペアを次のように表示されます。
The value of Key0: 0Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2

先頭に戻る

トラブルシューティングを行う

  • 構成ファイルは XML 形式で保存されます。すべての XML 構文規則に従うことを確認します。XML は大文字小文字を区別することを忘れないでください。XML が正しくない、または、要素のスペルが正しい場合は、System.Configuration.Configuration 例外が発生します。

    などの小文字の"k"ではなく大文字"K"で< add >要素のキー属性を追加する場合、または< appSettings >セクションでは、 < AppSettings >として表示されます (小文字ではなく大文字の"A"と"a")、エラー メッセージが表示。
  • 構成ファイルは、関連付けられたアプリケーションと同じフォルダーに保存してください。
  • 構成ファイルの名前を次の構文を使用する必要があります。
    ApplicationName.ApplicationType.config
    アプリケーション (.exe など) の種類は、バージョンは、 ApplicationTypeアプリケーションの名前および .config は、必要なサフィックスです。
先頭に戻る

関連情報

詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。先頭に戻る
プロパティ

文書番号:815786 - 最終更新日: 2017/02/01 - リビジョン: 1

フィードバック