此问题与Winform应用程序部署和配置有关。
我是.net开发的新手,我正在开发我的第一个Winforms应用程序。每当我部署应用程序时,我都需要设置用户将要连接的服务器的值。
为此,我必须进入程序文件并使用记事本手动更改应用程序配置文件。
我不仅听说这不是一个好习惯,而且也是一项乏味的练习。想象一下,有六个用户在每台机器上做同样的事情。
我很担心该怎么做。与exe在同一文件夹中的应用程序配置文件是我可以更改连接字符串的文件(我可以理解)。
任何人都可以帮我解决以下问题。
如何在安装后更新应用程序配置文件,而无需在记事本中打开它?我主要担心的是更新连接字符串。
我听说在这种情况下使用注册表是可能的。我害怕使用注册表!这是一个选择吗?
如果问题很幼稚,请原谅我的无知。我是.net的新手,正在寻找答案
由于 罗米
答案 0 :(得分:1)
嗨Romi这里是一个代码片段,可以帮助您进行读取/正确的应用程序配置
用于写入
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration
(ConfigurationUserLevel.None);
// Add an Application Setting.
config.AppSettings.Settings.Add("ModificationDate",
DateTime.Now.ToLongTimeString() + " ");
// Save the changes in App.config file.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of a changed section.
ConfigurationManager.RefreshSection("appSettings");
阅读
foreach(string key in ConfigurationManager.AppSettings)
{
string value = ConfigurationManager.AppSettings[key];
Console.WriteLine("Key: {0}, Value: {1}", key, value);
}
我的建议:如果你要保存几个不是连接字符串的设置,请使用上面的代码。只需创建一个简单的表单,创建一个填充它的字典并使用网格控件显示它。
如果您只需要读/写连接字符串,请使用以下代码
阅读
string cnx = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
写
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString=" your conenction string here";
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of a changed section.
ConfigurationManager.RefreshSection("ConnectionString");
您仍然可以使用注册表来保存这些设置,但我相信上面的代码可以解决您的问题。