Csharp/C#教程:重新启动应用程序后,App.config中的更改不会反映出来分享


重新启动应用程序后,App.config中的更改不会反映出来

我正在使用app.config文件来存储我的应用程序的动态参数。 问题是,当我更改app.config文件中的值并启动应用程序时,它不会从配置文件加载新值。 看起来app.config文件中的值只在编译时被读取并嵌入到exe文件中!

这是我读取配置文件的方式:

public class Helper { static Helper() { Foo = ConfigurationManager.AppSettings["Foo"]; } public static string Foo { get; set; } } 

我错过了什么吗?

您确定要更改正确的文件吗? 您不希望更改app.config文件,而是更改.exe.config文件,与.exe位于同一目录中

app.config文件是您在ide中编辑的文件,但是当您编译应用程序时,此文件将重命名为.exe.config并在编译时复制到输出目录。 在查找默认配置时,.exe会查找与其自身具有相同名称的文件,并带有.config扩展名。

您的类和方法的静态特性可能会导致问题。 也许将它重构为以下内容……

 public static class Helper { public static string Foo { get { return ConfigurationManager.AppSettings["Foo"]; } } } 

实际上,考虑到它,它并没有帮助你很多,因为ConfigurationManager.AppSettings["Foo"]已经(有效)是一个静态调用 – 你只是添加另一层抽象,这可能是不需要的。

你做过IISReset吗?

此外,还有Microsoft.NET缓存

 WINDOWSMicrosoft.NETFrameworkvXXXXXTemporary ASP.NET Files. 

我会删除这个文件夹的数据。

上述就是C#学习教程:重新启动应用程序后,App.config中的更改不会反映出来分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/949134.html

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

精彩推荐