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

文書翻訳 文書翻訳
文書番号: 815786 - 対象製品
この Microsoft Visual Basic .NET バージョン記事、参照してください。 313405.
この資料では、次の Microsoft.NET Framework を呼びますクラス ライブラリの名前空間。
  • System.Configuration
すべて展開する | すべて折りたたむ

目次

概要

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

要件

次の一覧は、推奨されるハードウェア、ソフトウェアです、ネットワーク インフラストラクチャ、および必要な service pack:
  • Microsoft Windows 2000、Windows XP、Windows Server 2003、Windows Vista、または Windows サーバー 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. で、 Name テキスト ボックス、入力App.configプロパティ追加.

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

    例えば、次の構成ファイルが含まれています、 <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. クリックしてください。 ].
  11. 内の構成ファイル キーから値を保持するには<appSettings></appSettings> セクションを構成ファイルで宣言します。文字列変数のメインセクションは次のとおり:
     string  sAttr ;
  12. 指定されたキーから値を取得するために、<appSettings></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> セクション。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 を使用している場合は、 ConfigurationSettingsConfigurationManagerのクラスのすべてのインスタンスを変更します。

(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></appSettings> 次のように関連付けられている構成ファイルのセクション:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
		

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

  • 構成ファイルは XML 形式で保存されます。確認してください。すべての XML 構文の規則に従うこと。XML は大文字であることに注意してください。場合XML の形式が正しくありません、または要素のスペルが間違っている場合は、表示します。System.Configuration.Configuration の例外です。

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

関連情報

詳細については、マイクロソフトの開発者に、次を参照してください。ネットワーク (MSDN) Web サイト:
ConfigurationSettings.AppSettings プロパティ
.aspx の http://msdn.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings (vs.71)
System.Configuration名前空間
.aspx の http://msdn.microsoft.com/en-us/library/system.configuration (vs.71)

プロパティ

文書番号: 815786 - 最終更新日: 2012年12月3日 - リビジョン: 7.0
この資料は以下の製品について記述したものです。
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
キーワード:?
kbsweptvs2008 kbcollections kbcollectionclass kbconfig kbnamespace kbhowtomaster kbprogramming kbmt KB815786 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:815786
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com