重新启动应用程序后,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位于同一目录中
app.config文件是您在ide中编辑的文件,但是当您编译应用程序时,此文件将重命名为
并在编译时复制到输出目录。 在查找默认配置时,.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