C#. NET Плагин Framework - PullRequest
       73

C#. NET Плагин Framework

0 голосов
/ 28 марта 2020

Я работал над приложением на основе плагинов в C#. Наткнулся на Managed Extensibility Framework (MEF), но, похоже, он устарел, и поддержка прекращена из Prism и других фреймворков.

Есть ли альтернативы MEF для. NET Framework? Большая часть информации о плагинах устарела и устарела.

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

Есть ли альтернативы MEF для. NET Framework?

MEF прекрасно подходит как плагин , не нужно искать где-то еще.

Но вы не должны также использовать его в качестве контейнера ввода зависимостей (см. Ответ Дэна).

0 голосов
/ 28 марта 2020

MEF НЕ является контейнером для внедрения зависимостей, и по этой причине он был удален. Итак, где искать?

  • Контейнер Unity (не путать с каркасом разработки игр Unity) давно уже является очень популярным контейнером для разработчиков Prism и используется Брайаном годами.
  • DryIo c был очень популярной и чрезвычайно быстрой альтернативой в течение последних нескольких лет и преобразовал многих долгосрочных поклонников Unity благодаря своей производительности и отличным API.
  • Ninject по-прежнему поддерживается на данный момент для WPF. Тем не менее, это может измениться в будущем. Проект показывает признаки смерти. У них не было версии более 2 лет, она не особенно быстра или широко используется разработчиками Prism.
  • BYO C (Принесите свой собственный контейнер) ... Prism 7 представила полную абстракцию для Внедрение зависимости. Это означает, что если есть контейнер, который вы хотели бы использовать, вы можете реализовать IContainerExtension для нужного контейнера и перенести его в свой проект. ПРИМЕЧАНИЕ для разработки WPF вам все равно потребуется ie этот контейнер в ServiceLocator, используемый в настоящее время WPF. Вы можете прочитать больше об этом в этом блоге на Использование «неподдерживаемых» DI-контейнеров
...