C# 更改 dll.config 中的值在运行时不会更改

标签 c#

我在项目的设置文件中配置了一个 bool 变量 当我编译时,在我的输出文件夹中,我看到 .dll.config 中的变量,如下所示:

      <setting name="ShowStats" serializeAs="String">
            <value>True</value>
      </setting>

在代码中,我通过 Properties.Settings.Default.ShowStats 引用它 我希望能够更改我的 .config 文件并在其中写入 FalseTrue,并在运行时反射(reflect)此值。 似乎只有从 Visual Studio 中的“设置”窗口更改它才能在运行时运行。 用记事本更改是行不通的。它始终是在 VS 设置窗口中设置的最后一个值。

我在这里做错了什么?

最佳答案

Dll 实际上没有配置文件。只有入口进程有配置文件。基本上:您的条目需要从 dll 命名的配置文件复制到 app.config 或 exe 命名的配置文件中。

此外:这些值仅在启动时读取;如果您在运行时更改它,那将不会执行任何操作(除非进程选择通过监视配置来重新启动自身 - asp.net 会这样做)。

关于C# 更改 dll.config 中的值在运行时不会更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27500384/

相关文章:

c# - 更改 DataGridView 上空图像的外观

c# - 当我自定义绘制字符串时,为什么我的文本没有右对齐?

c# - 总是在 MVC 中使用 ViewModel 模式?

c# - 将图表导出到 Excel 文件

c# - Web API OData v4 枚举本地化

c# - c#中字符串比较的更快算法

c# - asp.net 从其他本地资源读取

c# Win Form - CLR 无法从 COM 上下文转换

c# - Entity Framework 核心 : Violation of PRIMARY KEY constraint Cannot insert duplicate key in object

c# - MySql 存储过程不工作