2011-06-17 21 views
13

我在一個解決方案中有一個控制檯應用程序項目和庫項目(dll)。如何在dll級別讀取app.config。?

庫項目有app.config文件,我存儲了一些我在庫中使用的鍵值對。控制檯應用程序引用此dll。

我有另一個app.config文件在控制檯應用程序其中我有控制檯應用程序的設置。

當我運行程序我library.dll總是指的app.config控制檯應用程序

我想分開每個dll的責任,所以我想要一個dll始終引用它的自己的 app.config文件,而不是調用應用程序的文件。

在這種情況下library.dll應該使用的app.config,它自己沒有調用應用程序。

我該如何做到這一點?

回答

8

你所要求已經一次又一次地問了很多次......

其實你可以指示.NET從另一個文件中讀取配置設置,你的情況將會像library.dll.config ,有些項目或類可以做到這一點,比如說,可以使用一些類似的組件。

我的建議是無論如何不要這樣做。這聽起來很酷,但以這種方式思考,您的庫不是單獨運行,可以通過控制檯應用程序,網站或wpf ui項目引用,所有這些客戶端可能需要定製配置並設置不同的設置充分理解與調用應用程序配置文件相關的設置。

+1

+1用於暗示避免庫的配置文件。最好在庫中提供某種類型的API,以編程方式將配置參數從客戶端傳遞到lib,並讓客戶端將參數存儲在他自己的配置文件中。 – 2011-06-17 06:14:12

+5

Davide,你的回答的第一段完全沒有幫助,這個問題是在我的谷歌搜索中的第一個結果,我期待5票的答案很好。如果你知道很多很多的解決方案,你可以爲像我這樣的人指定一個。你的第二段也是不正確的。我有一個登錄模塊,總是會調用特定的數據庫,無論哪個模塊調用該dll,因此我需要配置一次,儘管我有多個用戶界面。 – AaA 2012-04-03 03:51:54

+1

如果您可以提供問題的解決方案,這將非常有用。 – 2012-06-28 16:38:29