What is Managed Extensibility Framework?
The Managed Extensibility Framework, commonly referred to as MEF, is a component .NET Framework 4.0. It is a library that was introduced to create lightweight, extensible applications. It is basically used to plug-in components to an already running application.
Primarily any application that wants to support a plugin model needs to create its own infrastructure from scratch. However, the benefit of MEF is that it allows an application developer to discover and use extensions without requiring any configuration.
MEF also lets extension developers easily encapsulate code and avoid fragile hard dependencies. It allows extensions to be reused within applications, as well as across applications. It also allows tagging of extensions with additional metadata win order to facilitate rich querying and filtering.