gpt4 book ai didi

c# - 将 App.config 应用于我的 DLL 程序集?

转载 作者:太空狗 更新时间:2023-10-29 18:14:23 32 4
gpt4 key购买 nike

我正在编写一个类库作为抽象,用于登录我编写的任何应用程序、服务等。我通过使其非常可配置以满足我遇到的大多数应用程序/服务日志记录场景的需求,使其相当健壮。

配置旨在指定以下内容:

  • 写什么日志级别
  • 为所有级别写入一个日志文件
  • 写入每个级别的单独文件
  • 记录截止(周期性、应用事件、字节大小限制)
  • 日志文件过期(文件过期后删除日志文件)
  • 写成纯文本或 XML
  • 日志文件名格式规范
  • 是否在文件名前加上日期
  • 父应用的名称
  • 等等,等等,等等......

我读过一些关于 DLL 程序集配置的其他 stackoverflow 问题,它导致托管程序集/应用程序的 app.config 之间发生冲突。我相信我的程序集有理由提供配置文件。

这个场景适合那个场合吗?将我自己的配置烘焙到我的项目中以便我的记录器从 XML 文件读取以检索配置值可能是更好的主意吗?

最佳答案

你可以做的是

  • 创建自定义配置部分(使用例如 COnfiguration Section Designer 工具)

  • 将程序集的配置放入单独的 MyAssembly.config 文件

  • 从您的主机应用程序的配置中引用该程序集配置文件:

    <configuration>
    <configSections>
    <section name="YourAssembly"
    type="YourAssembly.ConfigSection, YourAssembly" />
    </configSections>

    <YourAssembly configSource="MyAssembly.config" />
    </configuration>

这样,您可以将您的配置“外部化”到一个单独的配置文件中,您只有一次(在您的程序集的项目中),并且任何需要它的项目只需要在其自己的配置文件中进行这些设置。

关于c# - 将 App.config 应用于我的 DLL 程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3255820/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com