我有一個使用類庫的DLL的Web應用程序。我無法在類庫來訪問app.config
值如何訪問類庫中的app.config值?
如何我試圖訪問app.config
:
ConfigurationSettings.AppSettings["conStr"].ToString();
,當我嘗試使用它ConfigurationManager
這是返回一個空值
而且說找不到或缺少裝配參考。
使用System.Configuration也被添加。
我有一個使用類庫的DLL的Web應用程序。我無法在類庫來訪問app.config
值如何訪問類庫中的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
!
對於一個Web應用程序,您應該使用'WebConfigurationManager'(而不是「普通」'ConfigurationManager') –
AMembers的答案應該可以正常運行。但我喜歡告訴(「告訴;不要問」)我的圖書館他們應該連接的地方。而不是你的圖書館找到它的連接字符串,讓調用代碼供給它:
var myLib = new MyLib(ConfigurationManager.AppSettings["conStr"]);
這樣,你的配置是否是一個web.config /的app.config /自定義配置/註冊表/的.ini文件,你的圖書館不在乎。
對於一個Web應用程序,使用'WebConfigurationManager'(而不是「普通」'ConfigurationManager') –
好點。讓我們考慮我的代碼示例來自控制檯應用程序。 – hometoast
.NET類庫不使用它們的「自己的」配置文件 - 它們查看使用它們的應用程序的配置文件。 –