2013-02-14 47 views
0

我有了這個代碼的函數類庫:錯誤的應用程序配置文件?

this.apikey = ConfigurationManager.AppSettings["ApiKey"]; 

當我打電話在一個控制檯應用程序這個功能,它說的AppSettings沒有鑰匙。還指出連接字符串是aspnet ...而我的是sqlserver。所以它當然不會閱讀我的圖書館應用程序配置,即使我在庫函數中調用它。

這是正常的還是我做錯了什麼?

我曾希望避免不得不製作和解析一個XML並重新發明輪子。

感謝

回答

2

這是正常的還是我做錯了什麼?

這是正常的,你做錯了什麼。

庫通常沒有自己的配置 - 它受限於正在運行的應用程序的配置。

如果您將appSettingsconnectionStrings添加到應用程序配置中,則所有功能都可以使用。


換言之,當一個應用程序加載和它使用的庫被加載時,應用配置讀 - 沒有其他的配置文件被讀取。當調用ConfigurationManager的靜態方法時,加載的配置是有效的。

There are加載特定配置文件的方法,但這不是默認行爲。

0

你是肯定是錯的在某個地方。可能是你寫了你的密鑰在不同的部分比appSettings。只要檢查它,如果它是正確的,那麼,你就需要重新定位爲低於輪:

XDocument.Load(HttpContext.Current.Server.MapPath("~/web.config")); 

務必使用HttpContext

之前 System.Web命名空間添加到您的項目