【发布时间】:2010-07-01 05:39:27
【问题描述】:
我对在 .NET 中使用配置有点熟悉,但我对某些事情有点困惑。您创建一个 App.Config 文件以与您的 exe 一起使用,并且您创建的任何 dll 都使用相同的配置文件。
那么,如何从 DLL 中访问配置文件中的配置?如果您在 Visual Studio 中的 DLL 项目中创建 settings.settings,它最终会变成空白,其中没有任何设置。
谢谢。
【问题讨论】:
我对在 .NET 中使用配置有点熟悉,但我对某些事情有点困惑。您创建一个 App.Config 文件以与您的 exe 一起使用,并且您创建的任何 dll 都使用相同的配置文件。
那么,如何从 DLL 中访问配置文件中的配置?如果您在 Visual Studio 中的 DLL 项目中创建 settings.settings,它最终会变成空白,其中没有任何设置。
谢谢。
【问题讨论】:
您可以使用System.Configuration.ConfigurationManager 类从 DLL 中的 app.config(或 web.config)中获取设置。 AppSettings 属性将从配置文件的 appSettings 部分获取数据。
NameValueCollection settings = System.Configuration.ConfigurationManager.AppSettings;
string keyValue = settings["SomeKey"];
【讨论】:
我认为您必须共享所有 dll 的应用程序设置文件。
因此,对于每个引用的程序集,您必须在此配置文件中有不同的部分...
【讨论】:
没有简单的方法可以满足您的要求(使用 DLL 项目中的 app.config 文件,而不是使用 DLL 的 EXE 文件的 app.config 文件,或者除了 app.config 文件之外。)
请参阅此线程中的帖子 #3:
http://bytes.com/topic/c-sharp/answers/226001-problem-app-config-dll
【讨论】: