DOBON.NET DOBON.NETプログラミング掲示板過去ログ

App.configへの保存について

環境/言語:[.NET Framework1.0]
分類:[.NET]

VB.NET2003にて開発をしている超初心者です。

現在「Form上のテキストボックスに入力された氏名をApp.confugに保存する」という処理を行おうとしています。

例)
<add key="1" value="山田太郎" />
<add key="2" value="山田二郎" />
<add key="3" value="山田三郎" />
というように保存したい


すでにApp.configに保存されている内容を使うことはできるようになりました。
ですが、新規や修正でApp.configの内容を登録する方法がわからないので教えていただければと思います。
2011/09/27(Tue) 14:12:36 編集(投稿者)

■No29101に返信(ルナマリアさんの記事)
> 環境/言語:[.NET Framework1.0] 
> 分類:[.NET] 
> VB.NET2003にて開発をしている超初心者です。

.NET Framework 1.1 ではなく?


> 現在「Form上のテキストボックスに入力された氏名をApp.confugに保存する」という処理を行おうとしています。

それは避けた方が良いでしょう。

本来、App.Config は、実行中に変化しない情報を保持するためのものです。
つまり、基本的には読み取り専用のファイルとして扱うべきものである、という事です。
内容の取得方法(≠編集方法)については、下記を参照してみてください。
http://dobon.net/vb/dotnet/programing/appconfigfile.html


とはいえ、app.config (実際には 何某.exe.config )は単なる XML ファイルゆえ、
System.Xml 名前空間のクラスなどを通じて読み書きする事も、一応は可能です。
http://dobon.net/vb/dotnet/programing/editappconfigfile.html


ですが、このファイルの配置先は、.exeファイル(実行可能ファイル)と
同じフォルダーであるため、書き込みには注意が必要となります。
たとえば、アプリケーションは Program Files 配下のフォルダーに配置される事が
多いですが、ここは通常、一般ユーザーにとって読み取り専用であり、書き込みには
管理者権限を要するようになっています。そうした事情もあり、app.config は
実行中に変化しない「読み取り専用」な情報を保持するのには向いているものの、
プログラムからの動的編集を目的として使うのは、本来の使い方ではなかったりします。

使うとしても、アプリケーション全体の設定を変更する場合などに留めておきましょう。
(たとえば、住所録アプリで、接続先データベースを指定する画面など)


一方、固定的では無い情報を保持したい場合は、一般ユーザーに対しても
書き込める場所で保持しないといけませんので、レジストリや自作ファイルなどで
管理した方が無難かと思います。
http://dobon.net/vb/dotnet/programing/storeappsettings.html

なお、ここでいう“固定的では無い情報”とは、たとえば前回入力値を保存する場合や
終了時のウィンドウ位置、ゲームのハイスコア、あるいは履歴情報などを指します。
■No29102に返信(魔界の仮面弁士さんの記事)
> 2011/09/27(Tue) 14:12:36 編集(投稿者)
>
> ■No29101に返信(ルナマリアさんの記事)
>>環境/言語:[.NET Framework1.0] 
>>分類:[.NET] 
>>VB.NET2003にて開発をしている超初心者です。
>
> .NET Framework 1.1 ではなく?
>
>
>>現在「Form上のテキストボックスに入力された氏名をApp.confugに保存する」という処理を行おうとしています。
>
> それは避けた方が良いでしょう。
>
> 本来、App.Config は、実行中に変化しない情報を保持するためのものです。
> つまり、基本的には読み取り専用のファイルとして扱うべきものである、という事です。
> 内容の取得方法(≠編集方法)については、下記を参照してみてください。
> http://dobon.net/vb/dotnet/programing/appconfigfile.html
>
>
> とはいえ、app.config (実際には 何某.exe.config )は単なる XML ファイルゆえ、
> System.Xml 名前空間のクラスなどを通じて読み書きする事も、一応は可能です。
> http://dobon.net/vb/dotnet/programing/editappconfigfile.html
>
>
> ですが、このファイルの配置先は、.exeファイル(実行可能ファイル)と
> 同じフォルダーであるため、書き込みには注意が必要となります。
> たとえば、アプリケーションは Program Files 配下のフォルダーに配置される事が
> 多いですが、ここは通常、一般ユーザーにとって読み取り専用であり、書き込みには
> 管理者権限を要するようになっています。そうした事情もあり、app.config は
> 実行中に変化しない「読み取り専用」な情報を保持するのには向いているものの、
> プログラムからの動的編集を目的として使うのは、本来の使い方ではなかったりします。
>
> 使うとしても、アプリケーション全体の設定を変更する場合などに留めておきましょう。
> (たとえば、住所録アプリで、接続先データベースを指定する画面など)
>
>
> 一方、固定的では無い情報を保持したい場合は、一般ユーザーに対しても
> 書き込める場所で保持しないといけませんので、レジストリや自作ファイルなどで
> 管理した方が無難かと思います。
> http://dobon.net/vb/dotnet/programing/storeappsettings.html
>
> なお、ここでいう“固定的では無い情報”とは、たとえば前回入力値を保存する場合や
> 終了時のウィンドウ位置、ゲームのハイスコア、あるいは履歴情報などを指します。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板