Chapter 28. Managed Extensibility Framework


  • 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.


The .NET ...

Get Professional C# 4 and .NET 4 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.