2012-11-20 102 views
4

我有一個使用類庫的DLL的Web應用程序。我無法在類庫來訪問app.config如何訪問類庫中的app.config值?

如何我試圖訪問app.config

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

,當我嘗試使用它ConfigurationManager這是返回一個空值

而且說找不到或缺少裝配參考。

使用System.Configuration也被添加。

+1

.NET類庫不使用它們的「自己的」配置文件 - 它們查看使用它們的應用程序的配置文件。 –

回答

8

您必須將AppSettings值置於應用程序的web.config之內,因爲它會覆蓋類庫中的app.config

在類庫項目中添加對System.Configuration名稱空間的引用,它們將從web.config文件中獲得您期望的值,而不是從app.config文件中獲得的值。

2

System.Configuration庫添加引用您的項目,然後讓你的鑰匙這樣

ConfigurationManager.AppSettings["conStr"] 

注意,一個Web應用程序將搜索web.config文件,而不是一個app.config

+0

對於一個Web應用程序,您應該使用'WebConfigurationManager'(而不是「普通」'ConfigurationManager') –

0

AMembers的答案應該可以正常運行。但我喜歡告訴(「告訴;不要問」)我的圖書館他們應該連接的地方。而不是你的圖書館找到它的連接字符串,讓調用代碼供給它:

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

這樣,你的配置是否是一個web.config /的app.config /自定義配置/註冊表/的.ini文件,你的圖書館不在乎。

+1

對於一個Web應用程序,使用'WebConfigurationManager'(而不是「普通」'ConfigurationManager') –

+0

好點。讓我們考慮我的代碼示例來自控制檯應用程序。 – hometoast

相關問題