Extend existing .Net applications with Managed Extensibility Framework (MEF)

What is MEF? Why and where we should use MEF?

MEF is an acronym for Managed extensibility framework. This is a library from Microsoft to build extensible applications. It is attributed programming model as it works on attributes like import, importmany, export, importingconstructor, exportfactory,