サンプル集  >  C#  >  アプリケーション構成ファイル
アプリケーション構成ファイル
2016/10/05

アプリケーション構成ファイルを使ってみます。

OS Windows 7 Professional Service Pack 1 64bit
C# 01018-587-4111284-70817

以下の手順を行います。

  1. [ファイル]-[新規作成]-[プロジェクト]-[コンソールアプリケーション]を選択。
  2. 名前に「ConfigTest」と入力し「OK」ボタンを押下。
  3. プロジェクトを右クリックして[追加]-[新しい項目]を選択。
  4. 「新しい項目の追加」ダイアログが開く。
  5. [追加]ボタンを押す。
  6. App.configというファイルが追加された。
  7. プロジェクトを右クリックして[参照の追加]を選択。
  8. 「参照の追加」ダイアログが開く。
  9. [.NET]タブの「System.Configuration」を選択し「OK」ボタンを押下。

App.configに3つ値を追加しました。

App.config.cs
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="Application Name" value="ConfigTest" />
        <add key="Application Version" value="1.0.0.0" />
        <add key="Comment" value="Config Test" />
    </appSettings>
</configuration>

App.configを読み込むためにSystem.Configuration.ConfigurationManagerを使いました。

Program.cs
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

namespace ConfigTest
{
    class Program
    {
        static void Main( string[] args )
        {
            String val;

            // 指定したキーの値を取得
            val = ConfigurationManager.AppSettings["Comment"];
            Console.WriteLine( "val={0}<", val );

            // すべてのキーとその値を取得
            foreach ( string key in ConfigurationManager
                                      .AppSettings
                                        .AllKeys
            )
            {
                val = ConfigurationManager.AppSettings[key];
                Console.WriteLine( "{0}/{1}<", key, val );
            }

            // 指定したキーが無い場合
            val = ConfigurationManager.AppSettings["Hogehoge"];
            Console.WriteLine("val={0}<", val);

            Console.Read();
        }
    }
}

実行してみます。

val=Config Test<
Application Name/ConfigTest<
Application Version/1.0.0.0<
Comment/Config Test<
val=<

正常に動作しました。

別のフォルダにexeとApp.configファイルをコピーして実行したところ、値を取得できなくなりました。

C:\Temp
  ConfigTest.exe
  App.config

実行結果。

C:\Temp>ConfigTest.exe
val=<
val=<

調べたところ、App.configをEXE名.configに名前を変えれば良いようです。 早速、ConfigTest.exe.configという名前に変更して実行したところ値を取得できました。

ConfigTest.configでは値を取得できませんでした。

▲ PageTop  ■ Home


Copyright (C) 2016 ymlib.com