解決依賴程序集的引用我有它運行就像一個調度程序Windows服務,它擴展了可通過其他類實現成爲插件此服務的接口。所有插件(例如Plugin1,Plugin2 ...)將分別放置在PlugIn的子文件夾中,例如PlugIn \ Plugin1,PlugIn \ Plugin2。在運行時,將搜索每個子文件夾(Plugin1,Plugin2)以查找實現該接口的任何程序集,並使用相應的dlls方法計劃一個計時器。Windows服務就像一個調度服務運行,不能在運行時
現在萬一Plugin1 & Plugin2共享common.dll(私有程序集),調度程序只加載一次(以先發生者爲準)。如果由於某些商業原因,我們更新common.dll for Plugin1並將它複製到Plugin1文件夾中,使Plugin2保留以前的版本,這成爲一個問題,因爲現在common.dll將被加載非確定性。
有沒有一種方法可以在計劃或更高版本時將計算機的二進制文件集(從相應的文件夾中)與計時器綁定?
我已經通過Appdomain路線,但無法限制加載的DLL。我想利用流程,但無法想出一種方法來實現這種情況,在這種情況下,服務代碼會在每次從自己的合格DLL中反省並安排一種方法時創建一個新流程。 – rockvista 2010-06-19 07:39:02
在運行時實現這種方式(每個插件是主機服務下的一個新進程)之後,來自主機位置的公共/共享dll將在每個生命週期中加載一次,而不是從每個插件的相應插件位置加載一次,在。 任何可能有缺陷/我應該考慮在我的實施? – rockvista 2010-07-09 08:16:23
@rockvista - 也許'AppDomainSetup'的'PrivateBinPath'等? – 2010-07-09 08:24:16