2009-04-13 33 views
4

我們正在從應用程序的根目錄加載我們自定義的DLL(這些DLL正在實現一些接口)的應用程序,並通過反射執行一個方法。配置DLL的文件

如果自定義DLL必須從配置文件讀取一些值,那麼我們必須將這些配置設置複製到主應用程序的app.config文件中。

有沒有什麼辦法可以讓每個自定義DLL都有自己的配置文件名爲.config,並從這個文件本身讀取其配置設置。

回答

1

將你的DLL載入一個新的AppDomain並設置AppDomainSetup.ConfigurationFile。這將允許您爲每個自定義DLL創建一個單獨的配置文件。

0

我確信有一種方法可以在框架中做到這一點,只是無法記住我的頭頂。什麼你要找的是每裝配的配置文件,我記得曾讀到的一篇文章這樣Per Assembly Configuration Files

3

如果你在.NET 2.0或更高版本,您可以手動告訴配置系統從任何配置加載設置你想要的文件。

ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap(); 
exeMap.ExeConfigFilename = "C:\Application\Default.config"; 

Configuration exeConfig = ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None); 

現在,你有你的自定義的「配置」對象,你可以在它的派對! :-)通過調用exeConfig.GetSection()或任何你喜歡的方式加載整個部分。

另請參閱CodeProject上關於.NET 2.0配置系統的優秀三部分系列 - 強烈推薦!

馬克