如何访问类库中的app.config值?

时间:2012-11-20 13:08:28

标签: c# asp.net

我有一个使用类库的dll的Web应用程序。我无法访问类库中的app.config

我如何尝试访问app.config

ConfigurationSettings.AppSettings["conStr"].ToString();

这是返回空值

此外,当我尝试使用ConfigurationManager时,它表示未找到或缺少程序集引用。

还添加了System.Configuration。

3 个答案:

答案 0 :(得分:8)

您必须将AppSettings值放在应用程序的web.config内,因为它会覆盖类库中的app.config

在类库项目中添加对System.Configuration命名空间的引用,它们从web.config文件中获取您期望的值,而不是app.config文件中的值。

答案 1 :(得分:2)

在项目中添加对System.Configuration库的引用,然后像这样获取您的密钥

ConfigurationManager.AppSettings["conStr"]

请注意,网络应用程序将搜索web.config文件,而不是app.config

答案 2 :(得分:0)

AMembers的答案应该有效,让你跑步。但我喜欢告诉(“告诉;不要问”)我的图书馆应该连接的地方。不要让你的库找到它的连接字符串,而是让调用代码提供它:

var myLib = new MyLib(ConfigurationManager.AppSettings["conStr"]);

这样,无论您的配置是否在web.config / app.config / custom config / registry / .ini文件中,您的库都无关紧。