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 回答