ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

アプリケーションの構成ファイルは、VS2005では、DynamicPropertiesでなく、ApplicationSettings プロパティで設定する

いや〜、暫く DynamicProperties プロパティを探しまくってました。


この資料の説明は、Visual Studio .NET 2003での話であって、Visual Studio 2005では、ApplicaitonSettings で設定を行います。


ちなみに、構成ファイルって何やねん?と思われる方が居られるかも知れません。
構成ファイルは、要するに、
 「xxxアプリケーション固有の設定を行う、iniファイルをxmlファイルにしたもの」
 「xxxアプリケーションと同じフォルダに置いておけば使える」
と、私は理解しています。


Visual Studio 6.0の時代だと、自分でINIファイルを用意しないといけないので、少々面倒だったんですが(VC++だとデフォルトでは、レジストリに書き込まされてましたしね)、Visual Studio 2005になると XMLファイルを用意してくれるなんて、便利やな〜と思って使おうと思った訳です。


で、結論から行きますと、

  • Visual Studio .NET 2003は、DynamicProperties で構成ファイルの設定を行う。

setting1
setting1 posted by (C) wackyさんの写真

  • Visual Studio 2005は、ApplicationSettings で構成ファイルの設定を行う。

setting2
setting2 posted by (C) wackyさんの写真

となります。


なお、設定ファイルですが、VS2003とVS2005の互換性は、どう見ても無さげです。


VS2003の設定ファイルの一部:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<appSettings>
		<!--   ユーザー アプリケーションおよび構成されたプロパティ設定をここに挿入します。-->
		<!--   例 : <add key="settingName" value="settingValue"/> -->
		<add key="TextBox1.Text" value="hello world"/>
	</appSettings>
</configuration>

VS2005の設定ファイルの一部:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
...
    <userSettings>
        <WindowsApplication2.My.MySettings>
            <setting name="Test1" serializeAs="String">
                <value>Hello world</value>
            </setting>
        </WindowsApplication2.My.MySettings>
    </userSettings>
</configuration>

まぁ、問題となるとしたら、「VS2003で配布していたアプリを VS2005で配布し直した時」ぐらいなものですけど。

補足

もう少し調べていたら、こんなのが。

アプリケーション/ユーザーのスコープという概念があり、ユーザーにすると、"Documents and Settings"の下に、user.configが出来るみたいですね。なるほどぉ。