我在项目的设置文件中配置了一个 bool 变量 当我编译时,在我的输出文件夹中,我看到 .dll.config 中的变量,如下所示:
<setting name="ShowStats" serializeAs="String">
<value>True</value>
</setting>
在代码中,我通过 Properties.Settings.Default.ShowStats
引用它
我希望能够更改我的 .config 文件并在其中写入 False
或 True
,并在运行时反射(reflect)此值。
似乎只有从 Visual Studio 中的“设置”窗口更改它才能在运行时运行。
用记事本更改是行不通的。它始终是在 VS 设置窗口中设置的最后一个值。
我在这里做错了什么?
最佳答案
Dll 实际上没有配置文件。只有入口进程有配置文件。基本上:您的条目需要从 dll 命名的配置文件复制到 app.config 或 exe 命名的配置文件中。
此外:这些值仅在启动时读取;如果您在运行时更改它,那将不会执行任何操作(除非进程选择通过监视配置来重新启动自身 - asp.net 会这样做)。
关于C# 更改 dll.config 中的值在运行时不会更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27500384/