I currently need to provide a means of adding extensibility in my application. I’m currently looking at MEF and MAF.
MEF provides a simpler programming model, and also fits our usage scenarios better as we only want to load addins into a single AppDomain – this is due to the way the system has been architected. The same thing can be achieved with MAF with few lines of code too.
However, I was wondering if MEF should be used in production systems, given it’s preview status?
MEF has been through several iterations, and I think it is pretty close to a stable API now (maybe with the exception of its Silverlight support). Remember that MEF will be part of .NET 4.0 and VS2010 is slated to use MEF for its extensibility model, so there is strong disincentive to change the API dramatically at this late stage.
FWIW, I haven’t had any problems with the stability of MEF, and wouldn’t see an issue using it in a production system. Just treat it with the same caution that you would any other open source component.