Chapter 28. Managed Extensibility Framework

WHAT'S IN THIS CHAPTER?

  • Architecture of the Managed Extensibility Framework

  • Contracts

  • Exports and imports of parts

  • Containers used by hosting applications

  • Catalogs for finding parts

Add-ins (or plugins) allow you to add functionality to an application at a later time. 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 allows 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 allows you to extend Visual Studio with different levels of extensions.

For your custom applications, it has always been possible to create an add-in model to dynamically load and use functionality from assemblies. However, all the issues with finding and using add-ins need to be resolved. This task can be accomplished automatically using the Managed Extensibility Framework.

The major namespace that is covered in this chapter is System.ComponentModel.Composition.

MEF ARCHITECTURE

The .NET ...

Get Professional C# 4 and .NET 4 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.