2010-05-30 40 views
1

從2005年起,我搜索了一個問題,是誰需要從配置文件「* .dll.config」中讀取程序集的配置,而微軟還沒有做任何事情。舊的dll.config問題!

故事:如果嘗試從類庫(插件)中讀取設置,則失敗。取而代之的是,主應用程序域(使用插件的EXE)配置被讀取,因爲可能沒有這樣的配置,插件將使用默認設置,當您第一次創建設置時,默認設置是硬編碼的。任何對.dll.config的更改都不會被您的插件看到,您想知道爲什麼它在那裏! 如果你想替換它並開始搜索,你可能會發現這樣的: C# DLL config file 但只是一些想法和一個行代碼。每當我們需要配置值時,內置配置的好替代品不應該從文件系統讀取,因此我們可以將它們存儲在內存中;那麼如果用戶更改配置文件呢?我們需要一個FileSystemWatcher,並且我們需要像單例那樣的設計......最後,我們處於相同的位置.NET的配置除了我們的工作。 似乎MS做了一切,但忘記了爲什麼他們構建了「 .dll.config」。由於沒有DLL會自行執行,它們是從其他應用程序引用的(即使在網絡中使用),爲什麼會有這樣的「* .dll.config」文件? 我不會爭論是否有多個配置文件是好的。這是我的設計(可插入組件)。

最後{ 經過這些年,是否有任何良好的做法,如自定義設置類來添加每個彙編並從它自己的配置文件讀取? }

+0

Ehm究竟是什麼問題? – 2010-05-30 12:41:34

+0

最後聲明 – Xaqron 2010-05-30 12:57:41

+0

是你寫的一個dll的問題嗎? – rkellerm 2010-05-30 13:15:10

回答

0

我有一個類似的問題,我結束了完全去除的dll的配置文件,與應用程序放置它,這樣初始化由DLL包含的類時,我通過所有需要的參數。有點警察了,但現在工作正常。