One way to do this is to write a factory for the magazine itself and use it as a contract that you export.
public class Logger : ILogger { public Logger(IFoo foo) { }
Then you simply import the LoggerFactory and call CreateLogger every time you need a logger. This is pretty much the same thing you would do if you imported ExportFactory. The disadvantage is that you need to write a separate factory for each thing you want to create multiple instances.
Another option is to add ExportProvider to your container, which allows you to import factories. In the latest MEF reduction on CodePlex, there is a DynamicInstantiation pattern that shows how to do this.
Daniel Plaisted
source share