2011-02-04 9 views
9

に私はこのような私のC#アプリケーションから設定を使用しています:私は、この設定を保存するとストアのユーザー設定アプリケーションフォルダ

String str = Properties.Settings.Default.SETTINGS_NAME; 

、設定ファイルは

C:\Documents and Settings\<user name>\Local Settings\Application Data\<comp name>\Keb.exe_Url_pbs4eg1o2ija22omldrwjxhdam0jxxi5\1.0.0.0\user.config 

上で作成されてありますこのパスをApplication.ExecutablePath\user.configに変更して次回使用すると、アプリケーションの移植性が向上しますか?

+0

私はそれはあなたのアプリケーションがより多くの「ポータブル」になるだろうどのように見ることができますが、それはまた、*それ*シングルユーザーになるだろう。それはあなたの意図ですか? –

+0

はい、これは私の願いです。 – Milos

+0

App.configを使用しない理由は何ですか? – Mayank

答えて

9

ファイルの場所を制御するには、カスタムSettingsProviderを作成します。幸いにもあなたのために、someone at CodeProjectは既にそれをしました。

は、すべての詳細はこちら私の答えを参照してください:How to make designer generated .Net application settings portable

+0

thisまさに私が必要としていたものです。助けてくれてありがとうございます。 – Milos

+0

おはよう:) –

2

シングルユーザーにする場合や、アプリケーションの設定を移植可能にする場合は、.iniファイルのようなカスタム設定ファイルを使用し、アプリケーションのルートフォルダに保存します。

このように設定すると、他のコンピュータの自分のアプリのルートフォルダにコピーできます。アプリケーションを実行すると、設定が読み込まれ、それに応じて動作します。 ...よく...値の設定や値のタグ名を持つ

[setting_name] = [Setting_value]\n 

またはXMLファイルのように固定された形式のデータ、保存

:)

あなたはできるもレジストリの設定と一緒に行くのですが、ユーザは.regファイルをコピーしてマージすることは自明ではありません。

これは私がPCゲームを見た方法です(例えば、私は頻繁にCrysisとMassEffectの設定を変更しました)ファイル。

+1

シリアル化/逆シリアル化できるXMLファイルは、最も簡単な方法です。 – alex

+0

+1 @alexあなたが正しいと思っているのはなぜなのですか?iniはこの目的のために多くのアプリで既に使用されているために提案されていますが、XMLは多くの新しいアプリケーションが使用している最良の選択です。 –

関連する問題