This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Managed Extensibility Framework" – news · newspapers · books · scholar · JSTOR (June 2022) (Learn how and when to remove this template message)
Managed Extensibility Framework
Managed Extensibility Framework logo.png
Developer(s)Microsoft
Stable release
V1 in .NET Framework 4.0 / April 12, 2010; 12 years ago (2010-04-12)
Preview release
V2 Preview 5 / December 19, 2011; 10 years ago (2011-12-19)
Repositorygithub.com/MicrosoftArchive/mef
Written in.NET Languages
Operating systemWindows
Platform.NET Framework
TypeWeb application framework
LicenseMIT License[1]
Websitedocs.microsoft.com/en-us/dotnet/framework/mef/

Managed Extensibility Framework (MEF) is a component of .NET Framework 4.0 aiming to create lightweight, extensible applications. It aims to allow .NET application developers to discover and use extensions with no configuration required. It also aims to let extension developers encapsulate code easily and avoid fragile hard dependencies. Furthermore, it aims to allow extensions to be reused across applications.[2] MEF was introduced as a part of .NET 4.0[3] and Silverlight 4. It was later improved with the release of .NET 4.5 by adding support for generic types and the introduction of a convention-based extension model.[4]

Overview

MEF aims to solve the runtime extensibility problem. Without MEF, any application that wants to support a plugin model needs to create its own infrastructure from scratch. Those plugins will often be application-specific and cannot be reused across multiple implementations.

Design

Roughly speaking, MEF's core consists of a catalog and a CompositionContainer. A catalog is responsible for discovering extensions and the container coordinates creation and satisfies dependencies.

References

  1. ^ "MEF". 15 October 2021.
  2. ^ Kanjilal, Joydip (7 July 2016). "How to work with the Managed Extensibility Framework in C#". InfoWorld. Retrieved 25 June 2022.
  3. ^ Pronschinske, Mitch (12 April 2010). "What's New in VS2010 and .Net 4?". DZone. Retrieved 25 June 2022.
  4. ^ Vogel, Eric (12 February 2010). "Managed Extensibility Framework Improvements in .NET 4.5". VisualStudio Magazine. Retrieved 25 June 2022.

Further reading