Introducing the Pipline Builder for the Add-In Framework
The Add-In Framework, introduced in .NET 3.5, is designed to facilitate applications that need to support partially trusted add-ins. It includes features such discovering compatible add-ins, segregating them into separate AppDomains, and handling the communication between them and the host application. It even supports unloading code without having to restart the application.
Unfortunately the framework is rather complex. Even the simple example on CLR Inside Out took a total of 7 assemblies in order to build even the simplest application. Most of this is just boiler-plate code used to define the various contracts, adapters, and views needed to make everything work.
If this was written for Java, one would start looking for things like XML descriptor files to lighten the burden. But in true .NET fashion, we instead turn to code generators built into the IDE. In this case, the IDE add-in is the Pipeline Builder for Visual Studio 2008.
The Pipeline Builder is still in a pre-release state and at this time it only supports C#. Fortunately projects that use the Pipeline Builder don't take on any extra dependencies, making it suitable for production use.
The source code, written with VS 2005, is available on CodePlex.