DI使用外部DLL

时间:2011-08-30 21:18:24

标签: .net dependency-injection

我有两个完全独立的Web应用程序,每个都使用共享核心DLL。出于部署和版本控制的目的,我希望能够为两个应用程序部署“核心”dll的单个副本。如果需要,我还希望能够支持在部署时替换核心DLL作为选项的能力。换句话说,app1可以使用核心DLL版本1,app2可以使用核心DLL版本2.是否有一个DI容器将支持通过路径解析单个DLL中的实现类来支持这些功能? IOW,app1会从c:\ corev1 \ core.dll中获取它的实现类,而app2会从c:\ corev2 \ core.dll中获取它的实现类作为一个简单的例子吗?由于所有应用程序都是独立的部署策略,我需要避免直接引用core.dll。

2 个答案:

答案 0 :(得分:3)

听起来你想要可插拔性,不一定(或除了)DI。看看MEF

答案 1 :(得分:2)

您不需要DI或容器来执行此操作。 .NET支持Assembly Versioning

只需将core.dll与每个应用程序的其余应用程序二进制文件一起部署,并将它们彼此独立地进行版本化。