Add-ins 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 — functionality that might be written by your developer team but also different vendors can 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 offer 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. With an add-in model many issues need to be thought about. How can new assemblies be detected? How can versioning issues be resolved? Can the add-in change the stability of the hosting application?
The .NET Framework 3.5 offers a framework for hosting and creating add-ins with the assembly System.AddIn. This framework is also known by the name Managed AddIn Framework (MAF).
Add-ins are also known by different terms such as “add-on” or “plug-in.”
Topics covered in this chapter are
- System.AddIn ...