Application 'non-specific' plugins question

Apr 22, 2010 at 3:02 AM

I'm a newbie and have a general arcitectural question about MEF. I'm quite excited about the concept of writing a plug-in that is 'application non-specific'. I've written a proof of concept application where the developer can just drop a DLL into a folder and the running application picks it up and uses it.... very nice! I still can't believe how quickly I built this.

Anyway, the comment about MEF stating "Extensions, by their nature, can be reused amongst different applications"; well, my understanding here is that once an extension is written, you can effectively use that extension in any application 'that agrees to the contract'. But this 'agrees to the contract' bit to me means that both the host app and the extension must be pre-built and agree to the contract before they can work together (e.g. share an interface/abstract class). Am I on the right track?

Can anyone give me some info/links on writing plugins that arn't application specific? for example, can a host application 'understand' a DLL even though the host and DLL havn't been built together - or vice/versa ? is this even possible?
Thanks,
Jack.