Configuration Manager未在app.config中保存

时间:2013-07-31 20:37:20

标签: c# visual-studio-2010 configurationmanager

我有这个app.config:

<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
  <add name="conexx" connectionString="Data Source=192.168.1.2 ;Initial Catalog   =ifdcontroladoria3 ;uid =sa;pwd = admin2012" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0"   sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>

我试图用这个C#更新这个连接字符串:

  coneydstr = @"Data Source=" + comboBox1.Text + ";Initial Catalog =" + cmbBancos.Text + ";uid =" + txtUsuario.Text + ";pwd =" + txtPassword.Text;
        try
         { coneyd.ConnectionString = coneydstr; 
           coneyd.Open(); 
           funciona = true;
           lblStringSalida.Text = coneydstr;
         }
         catch (Exception ex)
        {  MessageBox.Show(coneyd + ex.Message.ToString());  }

        if (funciona)
        { 
          Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
          config.ConnectionStrings.ConnectionStrings["conexx"].ConnectionString = coneydstr;
          config.Save();   
        } 

但未进行更新,

 using System.Configuration;

是在标题和引用中,出了什么问题?????

我写错了问题,我想在某个地方存储连接字符串app.config或其他文件,并在另一个安装中更改字符串,或者当服务器或用户更改时。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

嗯,您的问题很可能是您正在查看错误的文件。查看调试器中的config.FilePath属性 - 它会告诉您完全您在此处和现在正在处理的文件。

在Visual Studio中运行此代码时,您的代码将更改Yourapplication.exe.config目录中的project\bin\debug - 它将 NOT 更改项目目录中的app.config

因此,当您运行代码时 - 在config.Save()之后,查看项目的\bin\debug目录及其中的配置文件 - 这些值是否已正确更新?