在类库的 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的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio/MSBuild 将引用的类库的 app.config 作为 *.dll.config 复制到当前项目的 bin 文件夹
如何在MVC 5的类库项目中使用Entity Framework 6 Code First
.NET Core在类库中读取配置文件appsettings.json