我有一个使用类库的dll的Web应用程序。我无法访问类库中的app.config
值
我如何尝试访问app.config
:
ConfigurationSettings.AppSettings["conStr"].ToString();
这是返回空值
此外,当我尝试使用ConfigurationManager
时,它表示未找到或缺少程序集引用。
还添加了System.Configuration。
答案 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文件中,您的库都无关紧。