Question

There are some updates with .NET 3.0 concerning how to create and use add-ins for your own applications. I read about some "pipeline" you have to create for the communication between add-in and host-application but couldn't find further information about it.

How would you made an add-in functionality in an application with .NET 3.0/3.5?

Additional information if necessary: The host application is made with WPF and some general functionality. Each add-in should add a own register-tab to a given container with their own content (buttons, textfields, ...) and methods to extend the host-application.

Was it helpful?

Solution

Definitely check out the Managed Extensibility Framework at www.codeplex.com/mef. It's a framework that helps with creating extensible applications. It takes care of all the plumbing when creating a pluggable app. I'm currently writing a series of articles that show the basic functionality of mef at http://www.jenswinter.com/?tag=/mef. But the articles are in German though.

Another framework you should give a try is the CompositeWpf (f.k.a. Prism). It let's you create composite WPF applications. Your app will consist of a shell app and several module projects that are wired together and hooked into the shell.

OTHER TIPS

In addition to Daniels codeplex link, Jason He also has a nice wee series on using the System.AddIn namespace when developing Paint.NET starting here -

http://blogs.msdn.com/zifengh/archive/2007/01/04/addin-model-in-paint-net-1-introduction.aspx

There is also available now the Managed Extensibility Framework (www.codeplex.com/mef) which allows you to leverage a rich plugin platform.

You may also find that dependency injection is along the lines of something you could use (Unity, StructureMap to name just two).

You could create a plugin platform on top of a dependency injection framework, though a dedicated plugin platform like MEF will likely be easier to implement.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top