One major disadvantage to the DLL based approach is that at the moment a DLL can not be unloaded, meaning if want to give users the ability to unload then reload a plug you are in a world of hurt. One possible trick is to load your plug-in in a separate AppDomain then dump that when you are done with it and as the AppDomain is unload all the dlls it contains will be unloaded too.

The main problem I see with the xml based approach is that it is lot more work for you. You must basically invent an xml based language and then interpret it, where as if you when for a DLL based approach all you have to do is define a public abstract base class or interface and then ask your plug-in writers to implement it.

Perhaps a good compromise for you maybe to use Xaml, the new xml based language that will ship with .NET 3. Since it is just a serialized object graph, rather than a DLL it can be loaded and unloaded dynamically easily and also you don’t have to bother creating and interpreting your own xml based syntax its already been done for you.

By on 8/24/2006 1:59 AM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper