Managed Extensibility Framework

From Wikipedia, the free encyclopedia - View original article

Managed Extensibility Framework
MEF logo
Developer(s)Microsoft
Stable releaseV1 in .NET Framework 4.0 / April 12, 2010; 3 years ago (2010-04-12)
Preview releaseV2 Preview 5 / December 19, 2011; 22 months ago (2011-12-19)
Written in.NET Languages
TypeWeb application framework
LicenseMs-PL
Websitemef.codeplex.com
 
Jump to: navigation, search
Managed Extensibility Framework
MEF logo
Developer(s)Microsoft
Stable releaseV1 in .NET Framework 4.0 / April 12, 2010; 3 years ago (2010-04-12)
Preview releaseV2 Preview 5 / December 19, 2011; 22 months ago (2011-12-19)
Written in.NET Languages
TypeWeb application framework
LicenseMs-PL
Websitemef.codeplex.com

Managed Extensibility Framework (MEF) is a component of .NET Framework 4.0 aiming to create lightweight, extensible applications. It allows application developers to discover and use extensions with no configuration required. It also lets extension developers easily encapsulate code and avoid fragile hard dependencies. MEF also allows extensions to be reused across applications. MEF was introduced as a part of .NET 4.0 and Silverlight 4. It is available on CodePlex along with source and as a result can be used, albeit unsupported and with limitations, on version 3.5 of the framework.

What problems does MEF solve?[edit]

MEF presents aims to solve the runtime extensibility problem. Until now, any application that wanted to support a plugin model needed to create its own infrastructure from scratch. Those plugins would often be application-specific and could not be reused across multiple implementations.

How does MEF work?[edit]

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.

External links[edit]