做淘宝美工的网站,大网站如何优化,济南三维动画制作公司,templates翻译题记#xff1a;微软的可托管扩展框架也移植到.NET Core上了。 可托管扩展框架#xff08;Managed Extensibility Framework#xff0c;MEF#xff09;是微软为大型应用程序#xff08;比如Visual Studio这样的东西#xff09;提供的一个功能扩展框架#xff0c;通过一个… 题记微软的可托管扩展框架也移植到.NET Core上了。 可托管扩展框架Managed Extensibility FrameworkMEF是微软为大型应用程序比如Visual Studio这样的东西提供的一个功能扩展框架通过一个混合层提升了灵活性、维护性和可测试性。MEF既可以用于第三方插件支持扩展功能我曾经开发的eBalance就是使用MEF实现插件功能也能为常见的应用程序带来松耦合插件架构的好处。MEF最早是作为一个开源的扩展库发布后来直接融合到.NET Framework中一起发布所谓的命名空间System.*.Composition就是它了。 当然由于历史原因MEF现存两个版本 一个是同.NET 4.0和Silverlight 4及其更高版本内置的命名空间为System.ComponentModel.Composition。这个版本提供了标准的扩展模型也是VS使用的。另外一个是通过Nuget发布的轻量级的支持可移植的版本针对静态混合进行了优化提供了更快的混合过程你可以认为这是MEF2命名空间是System.Compostion可以被用于手机、商店应用、桌面和Web应用之中。 而现在移植到.NET Core的版本只是MEF2这是理所当然的没有Catalog可用源代码在此https://github.com/dotnet/corefx/tree/master/src。 要使用MEF也很简单直接通过Nuget添加就行http://www.nuget.org/packages/Microsoft.Composition/ 如果只是想自动加载Assembly的话.NET Core虽然没有再提供AppDomain还是提供了类似概念的东西即AssemblyLoadContext。不过动态加载程序集在.NET Native下可能会有问题因为并没有JIT的存在。 如何在.NET Core中使用MEF的具体代码可以参考Ricardo Peres的博文http://weblogs.asp.net/ricardoperes/using-mef-in-net-core 内容转载自公众号 dotNET每日精华文章 了解更多