ページ 1 / 1
Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年7月30日(水) 18:04
by lulu
こんにちは。
現在、タイトル通り、VisualStudioのSettings.settingsを動的に
読み込む方法で悩んでいます。
現在Windowsアプリケーション開発を行っており、設定データを保存するのに
Properties.Settings.Settingsで管理しております。
この時、保存した場合はAppDataにデータがxml形式で保存されています。
このxmlを動的に読み込みたいのですが、(ユーザーがxmlファイルをダイアログで選択する)
どのように読み込んでいいかわかりません。
一つ一つ構文解析して読み込むことは非常に大変です。
Settings.Designer.csを見ると、internal sealed partial class Settings
があるので、このクラスで読み込めたらいいなぁと思っているのですが、
どうやっていいかお手上げ状態です。
どなたかよい対処方法を教えていただけませんか?
よろしくお願いいたします。
Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年7月31日(木) 01:48
by lulu
Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年7月31日(木) 16:24
by YuO
マルチポスト先の144番のポストで書かれているように,XmlDocumentなりXDocumentなりでXMLとして読めば読めます。
150番の方が書かれている,XmlSerializerによる方法は,System.Configurations.Configurationにデフォルトコンストラクタがないため,試した限り使えなかったです。
で,やはり144番の方が書かれていますが,
設定用のクラスを自前で作り,それをXmlSerializerなりDataContractSerializerなり他の各種シリアライザを使って保存,復元するのが正攻法だと思います。
Settingsは,何個も用意してユーザーが取り替えられるような使い方を前提としていませんので。
refs) シリアライズ関連について
Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年8月01日(金) 09:47
by lulu
ご回答ありがとうございます。
やはりxmlでシリアライズ、デシリアライズが一番有効なんですね。
本来やりたかったことは、ソフトバージョン更新時、以前使っていたバージョンの
Settings.Settingsの内容を最新バージョンでも引き継ぎたいがためにこのような
質問をいたしました。Settings.Settingsの項目が非常に多いので、再インストール時
にまた全部設定するのは手間と感じています。
本来はこのような場合、Settings.Settingsを使うのではなく、自前の設定クラスで
管理することが最もよい手法なのでしょうか。
Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年8月01日(金) 10:12
by YuO
lulu さんが書きました:本来やりたかったことは、ソフトバージョン更新時、以前使っていたバージョンの
Settings.Settingsの内容を最新バージョンでも引き継ぎたいがためにこのような
質問をいたしました。Settings.Settingsの項目が非常に多いので、再インストール時
にまた全部設定するのは手間と感じています。
バージョンアップに伴うものであるならば,
Upgrade メソッドを呼び出せば「直前のバージョン」のデータを引き継ぐことができます。
refs)
lulu さんが書きました:本来はこのような場合、Settings.Settingsを使うのではなく、自前の設定クラスで
管理することが最もよい手法なのでしょうか。
場合によりけりです。
単純にバージョンアップで引き継ぐ,という話であればUpgradeメソッドで十分であることも多いと思います。ただ,
lulu さんが書きました:このxmlを動的に読み込みたいのですが、(ユーザーがxmlファイルをダイアログで選択する)
どのように読み込んでいいかわかりません。
とあったため,私は (恐らく2chで回答された方も) VSの「設定のインポートとエクスポート」のような,複数の設定からユーザーが選択する方式を想定していました。
それを前提にするのであれば,複数の設定ファイルの存在を前提としないSettingsを使うよりは,自前の設定クラスをシリアライズ・デシリアライズした方が手間が少なくなる,ということです。
Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年8月04日(月) 15:39
by lulu
YuO様
ご回答ありがとうございました。
結局、独自の設定クラスを設けて、処理するようにしました。
ご回答ありがとうございました。
Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
Posted: 2014年8月04日(月) 15:39
by lulu
解決いたしました。ありがとうございました。