.net 安装时的Winform应用程序配置

.net 安装时的Winform应用程序配置,.net,.net,此问题与Winform应用程序部署和配置有关 我是.net开发新手,正在开发我的第一个Winforms应用程序。无论何时部署应用程序,我都需要设置用户将要连接到的服务器的值 为此,我必须进入程序文件并使用记事本手动更改应用程序配置文件 我不仅听说这不是一个好的做法,也是一个乏味的练习。想象一下,面对六个用户,在每台机器上做同样的事情 我很困惑该怎么办。与exe位于同一文件夹中的应用程序配置文件是我可以更改连接字符串的文件Through(正如我所理解的) 有人能帮我解决以下问题吗 如何在安装应用程

此问题与Winform应用程序部署和配置有关

我是.net开发新手,正在开发我的第一个Winforms应用程序。无论何时部署应用程序,我都需要设置用户将要连接到的服务器的值

为此,我必须进入程序文件并使用记事本手动更改应用程序配置文件

我不仅听说这不是一个好的做法,也是一个乏味的练习。想象一下,面对六个用户,在每台机器上做同样的事情

我很困惑该怎么办。与exe位于同一文件夹中的应用程序配置文件是我可以更改连接字符串的文件Through(正如我所理解的)

有人能帮我解决以下问题吗

  • 如何在安装应用程序配置文件后更新它,而不必在记事本中打开它?我主要关心的是更新连接字符串

  • 我听说在这种情况下可以使用登记处。我害怕使用注册表!这是一种选择吗

  • 如果这些问题太天真,请原谅我的无知。我是.net新手,正在寻找答案

    谢谢
    Romi

    Hi 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;
    
    我的建议:如果您正在保存多个不是连接字符串的设置,请使用上述代码。只需创建一个简单的表单,创建一个字典,填充它并使用网格控件显示它

    如果只需要读/写连接字符串,请使用以下代码

    阅读

        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)


    您仍然可以使用注册表保存这些设置,但我相信上面的代码可以解决您的问题。

    谢谢您的回复。现在,我可以创建一个表单,作为主应用程序的一部分,或者作为部署后生成的表单,该表单接受服务器名称,连接到相同的服务器,如果连接成功,则使用您提供的代码将其保存到配置文件中。这就是我的想法?是吗?当然,为什么不呢?你可以用代码做很多事情,它真的很有用。您甚至可以保存多个连接字符串,只需在以下行中用引号替换名称:ConfigurationManager.ConnectionString[“替换此”]。ConnectionString=“此处为您的连接字符串”;