Chapter 30

Managed Extensibility Framework


  • Architecture of the Managed Extensibility Framework
  • MEF using Attributes
  • Convention-based Registration
  • Contracts
  • Exports and imports of parts
  • Containers used by hosting applications
  • Catalogs for finding parts


The code downloads for this chapter are found at on the Download Code tab. The code for this chapter is divided into the following major examples:

  • Attribute-Based Sample
  • Convention-Based Sample
  • WPFCalculator


Add-ins (or plugins) enable you to add functionality to an existing application. You can create a hosting application that gains more and more functionality over time—such functionality might be written by your team of developers, but different vendors can also extend your application by creating add-ins.

Today, add-ins are used with many different applications, such as Internet Explorer and Visual Studio. Internet Explorer is a hosting application that offers an add-in framework that is used by many companies to provide extensions when viewing web pages. The Shockwave Flash Object enables you to view web pages with Flash content. The Google toolbar offers specific Google features that can be accessed quickly from Internet Explorer. Visual Studio also has an add-in model that enables you to extend Visual Studio with different levels of extensions.

For your custom applications, it has always ...

Get Professional C# 2012 and .NET 4.5 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.