For those that work with application extensibility in .NET, what do you prefer doing - creating your own extensibility layer or using MEF (Managed Extensibility Framework) or MAF (Managed Add-in Framework)?
So far, I've used both ways of implementing application extensibility and I like MEF for the fact that it makes it easier to load existing assemblies from a specific location without directly verifying for interface implementations (for the lack of an ImplementationOf(interface)
check in .NET).
What are the advantages that you see in your specific extensibility layer preference? What are the disadvantages?