通过 C# 代码更新 web.config

update web.config through c# code

我正在尝试通过我的 C# 代码在 运行 时更新一些配置设置。这是我的web.config

栏目
<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="URL" value="google.com"/>
  <add key="Domain" value="d"/>
  <add key="Project" value="p"/>
  </appSettings>

这是我正在使用的代码:

Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
System.Configuration.ConfigurationManager.AppSettings.Remove("URL");
System.Configuration.ConfigurationManager.AppSettings.Add("URL","www.whosebug.com");
config.Save();

但是,它给出了我的配置文件是只读的错误。 我正在使用 Visual Studio 2013。 我应该如何解决这个问题?

你能试试这个吗?

protected void EditConfigButton(object sender, EventArgs e)
{
   Configuration objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
   AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
   //Edit
   if (objAppsettings != null)
   {
      objAppsettings.Settings["test"].Value = "newvalueFromCode";
      objConfig.Save();
   }
}

或请参考link Editing Web.config programatically