C# 如何操作app.config文件中的connectionstring?

C# 如何操作app.config文件中的connectionstring?,c#,connection-string,app-config,application-settings,C#,Connection String,App Config,Application Settings,我正在尝试在运行时设置connectionstring。我需要的是在运行时设置datasource,然后重新启动应用程序。我在google中找到了一些方法,但问题是app.config在Application.Restart()之后返回默认值 我试图在settings.cs和app.config中同时保存connectionstring,但对我无效。 这是我的代码: public void setConnectionString() { try {

我正在尝试在运行时设置
connectionstring
。我需要的是在运行时设置
datasource
,然后重新启动应用程序。我在google中找到了一些方法,但问题是
app.config
Application.Restart()之后返回默认值

我试图在
settings.cs
app.config
中同时保存
connectionstring
,但对我无效。 这是我的代码:

public void setConnectionString()
    {
        try
        {
            string str = string.Empty;

            str = string.Format(@"Data Source={0}; Initial Catalog=CRM01_DB; UID= {1}; PWD={2}", Default.DataSource, Default.UID, Default.UPass);

            this["CRM01_DBConnectionString"] = str;
            Default.Save();
            Thread.Sleep(100);
            var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
            connectionStringsSection.ConnectionStrings["CRM01_DBConnectionString"].ConnectionString = str;
            config.Save();
            ConfigurationManager.RefreshSection("connectionStrings");

            Thread.Sleep(100);

        }
        catch (System.Exception ex)
        {
            System.Windows.Forms.MessageBox.Show(ex.Message);
        }

我没有收到任何错误,但当应用程序启动时,
connectionstrig
具有默认值

如果您从VS测试此代码,它可能无法工作(并且可能无法工作)

从VS运行时,实际执行的程序是
.vshost.exe
,相应的
.config
文件名为
.vshost.exe.config
,您应该在那里检查更改

但是

VS保持原始的
.config
.vshost.exe.config
同步,这样您就看不到更改

要测试代码是否工作,请从外部VS尝试它,或取消选中启用Visual Studio宿主进程的
属性
->
调试
)(请记住它已启用)


如果从VS测试此代码,它可能不起作用(也可能不起作用)

从VS运行时,实际执行的程序是
.vshost.exe
,相应的
.config
文件名为
.vshost.exe.config
,您应该在那里检查更改

但是

VS保持原始的
.config
.vshost.exe.config
同步,这样您就看不到更改

要测试代码是否工作,请从外部VS尝试它,或取消选中启用Visual Studio宿主进程的
属性
->
调试
)(请记住它已启用)


@mohammadboluki我确实试过了。工作起来像一个机器人charm@mohammadboluki我确实试过了。很有魅力