2016-11-15 28 views
0

我已經看到很多問題,即使沒有直接使用,也要問如何加載所有引用的程序集,但我想進一步深入。我正在構建一個可以擴展的服務和接口,我的意圖是可以使用其他類型擴展發送方/接收方,例如:接口負責發送SMS消息,並且可以有不同的適配器,例如我有兩個不同的應用程序要使用SMS,每個將有其自己的實現ISmsAdapterISmsReplyAdapter,程序集可能不一定會被服務引用(應用程序包含Windows服務和WebAPI服務以接收回復)。Autofac加載從引用和未引用程序集的依賴關係

我希望能夠做的不僅僅是註冊是在引用的程序集我autofac模塊,但在在說一個特定的文件夾,例如/ bin /插件或類似

一些組件也註冊模塊

我一直沒能找到任何關於此以外Caliburn.Micro具有DirectoryCatalog該做類似的東西,以我想要的東西

有誰知道我如何能夠與Autofac實現這一目標嗎?

回答

1

這不是真正的Autofac問題,而是一個反思問題。 Autofac不關心你如何加載組件。

使用類似Assembly.LoadFrom的方式加載您的程序集,然後在Autofac中使用程序集掃描或繼續使用反射來手動找到程序集中的某些類型(例如,從模塊繼承的類型,具有特定命名約定的類型,實現某個接口等),並將這些類型分別註冊到for-loop中。

相關問題