繁体   English   中英

C# .NET 插件框架

[英]C# .NET Plugin Framework

我一直在使用 C# 开发基于插件的应用程序。 偶然发现了托管可扩展性框架 (MEF),但这似乎已经过时,并且对 Prism 和其他框架的支持已经下降。

.NET Framework 有 MEF 的替代品吗? 很多关于插件的信息都相当陈旧。

谢谢

MEF 不是依赖注入容器,因此它已被删除。 那么在哪里看呢?

  • Unity Container(不要与 Unity 游戏开发框架混淆)长期以来一直是 Prism 开发人员非常流行的容器,并且是 Brian 多年来一直使用的容器。
  • DryIoc 在过去几年中一直是一种非常流行且速度极快的替代方案,并且由于它的性能和出色的 API 已经转变了许多长期的 Unity 粉丝。
  • WPF 目前仍支持 Ninject。 也就是说,这在未来可能会改变。 该项目显示出死亡的迹象。 它们已经超过 2 年没有发布了,它不是特别快,或者被 Prism 开发人员广泛使用。
  • BYOC(自带容器)... Prism 7 引入了一个完整的依赖注入抽象。 这意味着如果您想要使用一个容器,您可以为您想要的容器实现 IContainerExtension 并将其引入到您的项目中。 注意对于 WPF 开发,您仍然需要将该容器绑定到 WPF 当前使用的 ServiceLocator。 您可以从这篇关于使用“不支持的”DI 容器的博客文章中阅读更多相关信息

.NET Framework 有 MEF 的替代品吗?

MEF 作为插件框架非常好,无需查看其他地方。

但是您不应将其用作依赖项注入容器(请参阅 Dan 的回答)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM