应用程序运行时重新加载app.config部分

时间:2014-01-17 06:34:02

标签: c# app-config

我一直在阅读和搜索如何使这项工作,但我无法让我的应用程序重新加载或刷新它的加载设置。这是我在exe.config中的一个部分:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Tekla.Structures.Model" publicKeyToken="2f04dbe497b71114" culture="neutral" />
        <bindingRedirect oldVersion="17.0.0.0-99.1.0.0" newVersion="18.1.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

我需要将newVersion更改为18.0.0.0,我可以轻松完成。问题是,一旦我这样做,我无法让应用程序加载该信息,而无需手动从头开始应用程序。

我已根据我的搜索尝试了所有这些组合,但似乎没有效果:

System.Configuration.ConfigurationManager.RefreshSection("runtime");
System.Configuration.ConfigurationManager.RefreshSection("assemblyBinding");
System.Configuration.ConfigurationManager.RefreshSection("runtime/assemblyBinding");
System.Configuration.ConfigurationManager.RefreshSection("runtime/assemblyBinding/dependentAssembly");
System.Configuration.ConfigurationManager.RefreshSection("runtime/assemblyBinding/dependentAssembly/bindingRedirect");

我需要做些什么来重新加载?

1 个答案:

答案 0 :(得分:0)

您只需要在修改模式下保存配置文件,然后刷新它将使应用程序从磁盘读取文件。

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).Save(ConfigurationSaveMode.Modified);

ConfigurationManager.RefreshSection("appSettings");