アプリケーションの構成ファイルは、VS2005では、DynamicPropertiesでなく、ApplicationSettings プロパティで設定する
いや〜、暫く DynamicProperties プロパティを探しまくってました。
- @IT:.NET TIPS Windowsフォームで構成ファイルによりプロパティ値を設定するには? - VS.NET
http://www.atmarkit.co.jp/fdotnet/dotnettips/328dynamicproperty/dynamicproperty.html - 外部ファイルにコントロールのプロパティを格納する: .NET Tips: C#, VB.NET, Visual Studio
http://dobon.net/vb/dotnet/programing/dynamicproperties.html
この資料の説明は、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 で構成ファイルの設定を行う。
- Visual Studio 2005は、ApplicationSettings で構成ファイルの設定を行う。
となります。
なお、設定ファイルですが、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で配布し直した時」ぐらいなものですけど。
補足
もう少し調べていたら、こんなのが。
- なっちゃんのプログラミングTips: My.Settingsの内容はどこに保存されるのか。
http://natchan-develop.seesaa.net/article/25758979.html - Visual Basic 2005 での My.Settings の使用
http://msdn.microsoft.com/library/ja/jpdnvs05/htm/2005/vbmysettings.asp?frame=true
アプリケーション/ユーザーのスコープという概念があり、ユーザーにすると、"Documents and Settings"の下に、user.configが出来るみたいですね。なるほどぉ。