DI Использование внешней DLL - PullRequest
3 голосов
/ 31 августа 2011

У меня есть два совершенно независимых веб-приложения, каждое из которых использует общее ядро ​​DLL. В целях развертывания и управления версиями я хотел бы иметь возможность развернуть одну копию «основной» библиотеки DLL для использования обоими приложениями. Я также хотел бы иметь возможность при необходимости поддерживать возможность замены основной библиотеки DLL при развертывании в качестве опции. Другими словами, app1 может использовать ядро ​​dll версии 1, а app2 - ядро ​​dll версии 2. Существует ли контейнер DI, который будет поддерживать разрешение классов реализации в одной DLL по пути для поддержки этих функций? Итак, app1 получит классы реализации из c: \ corev1 \ core.dll, а app2 в качестве простого примера получит классы реализации из c: \ corev2 \ core.dll? Мне нужно избегать прямых ссылок на core.dll из-за нашей стратегии развертывания, где все приложения независимы.

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Похоже, вы хотите подключаемость, не обязательно (или в дополнение к) DI. Взгляните на MEF .

2 голосов
/ 31 августа 2011

Вам не нужен DI или контейнер для этого. Сборка версий поддерживается .NET из коробки.

Просто разверните файл core.dll вместе с остальными двоичными файлами вашего приложения для каждого приложения и установите их версии независимо друг от друга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...