在类库的 App.config 中使用 ConfigurationManager.GetSection

Posted

技术标签:

【中文标题】在类库的 App.config 中使用 ConfigurationManager.GetSection【英文标题】:Using ConfigurationManager.GetSection in a Class Library's App.config 【发布时间】:2012-10-19 21:52:03 【问题描述】:

我正在编写一个类库,该类库在其 app.config 中具有设置,最终将由少数其他 .NET 应用程序调用。为了从中获取设置,我正在使用 ConfigurationManager.GetSection,例如:

MyConfiguration process = (MyConfiguration)ConfigurationManager.GetSection("MyGroup/processes");

我发现调用应用程序必须在其自己的项目中具有相同的 app.config 才能使其正常工作,否则类库将抛出 NullReferenceException。我只是想知道这是否是正常行为,或者是否有任何方法可以确保只有类库需要 app.config 可用?

谢谢:)

【问题讨论】:

请参阅:***.com/a/2272628/1772300,但我建议您认真考虑是否将 app.config 用于您将要使用 Dll 的任何应用程序(特别是如果有多个他们)。 感谢 Cole,我同意并将设置放入调用者文件中。 【参考方案1】:

您的类库将始终尝试从引用它的主应用程序的 app.config 中读取。它根本不会使用你的类库配置文件。

【讨论】:

以上是关于在类库的 App.config 中使用 ConfigurationManager.GetSection的主要内容,如果未能解决你的问题,请参考以下文章

类库的 app.config 中的绑定重定向有啥作用吗?

Visual Studio/MSBuild 将引用的类库的 app.config 作为 *.dll.config 复制到当前项目的 bin 文件夹

如何在MVC 5的类库项目中使用Entity Framework 6 Code First

.NET Core在类库中读取配置文件appsettings.json

在类库项目中添加 WCF 服务引用,并在使用该类库的网站中添加相同的 WCF 引用。

包括来自类库的服务引用