2
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

config.AppSettings.Settings["dbHost"].Value = txtHost.Text.ToString();
config.AppSettings.Settings["dbName"].Value = txtName.Text.ToString();
config.AppSettings.Settings["dbUser"].Value = txtUser.Text.ToString();
config.AppSettings.Settings["dbPass"].Value = txtPass.Text.ToString();
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");

アプリケーションを再度開くと、空白のテキストが表示されます

4

1 に答える 1

3

アプリケーションは、実行時に setup/bin ディレクトリ内の app.config を変更することは想定されておらず、セットアップ時にのみ変更する必要があります。実行時に、アプリケーションは %APPDATA% フォルダーの下のアプリケーション フォルダーに書き込む必要があります。UAC をアクティブにしている場合、Windows はこれを強制します。

また、使用した API はファイルを変更するためのものではありません。

%APPDATA% 設定 (ユーザーごと) にアクセスする場合は、代わりにこの PerUserRoaming または PerUserRoamingAndLocal を使用します。

http://msdn.microsoft.com/en-us/library/system.configuration.configurationuserlevel.aspx

于 2012-12-17T11:49:57.203 に答える