我有一个使用类库的 dll 的 Web 应用程序。我无法访问app.config
类库中的值
我如何尝试访问app.config
:
ConfigurationSettings.AppSettings["conStr"].ToString();
这是返回一个空值
此外,当我尝试使用ConfigurationManager
它时,它说未找到或缺少程序集参考。
还添加了使用 System.Configuration 。
您必须将AppSettings
值放在web.config
应用程序的内部,因为它会覆盖app.config
类库中的。
System.Configuration
在类库项目中添加对命名空间的引用,它们会从文件中获取您期望的值web.config
,而不是从app.config
文件中获取。
在您的项目中添加对库的引用System.Configuration
,然后像这样获取您的密钥
ConfigurationManager.AppSettings["conStr"]
请注意,Web 应用程序将搜索web.config
文件而不是app.config
!
AMembers 的答案应该可以让你跑步。但我喜欢告诉(“告诉;不要问”)我的图书馆应该在哪里连接。不要让你的库找到它的连接字符串,而是让调用代码提供它:
var myLib = new MyLib(ConfigurationManager.AppSettings["conStr"]);
这样,无论您的配置是否在 web.config/app.config/custom config/registry/.ini 文件中,您的库都不在乎。