3

ユーザーがアプリケーション設定 (この場合はアプリケーション データベースの場所) を変更できるようにする必要があります。アプリケーション設定は実行時に読み取り専用であることに気付きましたが、これはユーザー固有ではなく、アプリケーション全体である必要があります。実行時に変更可能なアプリケーション全体の接続文字列を windows.forms に永続化するにはどうすればよいですか?

4

2 に答える 2

2

使用できます

ConfigurationManager.AppSettings.Set()

また

ConnectionStringSettings.ConnectionString プロパティ

セットも可能。

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("test","tada");
config.Save(ConfigurationSaveMode.Minimal, true);
于 2009-11-25T10:41:12.200 に答える
0

新しい Settings クラスを使用してフレームワークに直接的な方法はありません。Settings サポートを使用してユーザーレベルの設定を保存できますが、アプリケーション/マシンレベルでは保存できません。最も簡単な方法は、クラスを XmlSerialize し、Public Documents フォルダーなどの昇格されていない状態で実行しているときに、書き込みアクセス権を持つすべてのユーザー間で共有されるディレクトリに格納することです(プログラム ディレクトリには書き込まれません)。Environment.SpecialFolder.CommonApplicationData

編集: はい、古い appSettings メカニズムには書き込み方法がありますが、それは悪いニュースです。新しい設定は、多くの理由で Program Files の構成ファイルに書き込もうとするのは悪いニュースであるため、この機能を省略しています。

于 2009-11-25T10:42:14.687 に答える