I'm working on a similar issue right now and my approach is this: I'm planning to have a config file that defines how my CompositionContainer will be configured My config should contain a list of directories for the container to scan (by using a DirectoryCatalog for each directory specified) and my config should also support a list of assemblies that might be stored elsewhere, and that would be included by having several AssemblyCatalog used for that purpose So basically, I'm trying to configure the individual catalogs that make up my AggregateCatalog which the composition container will use to find the parts. Not there yet, unfortunately - so this is just in my head for now - no code just yet.
What I did in a recent project was to include a Name property in the interface. All the extensions I wanted to be accessible got loaded, then a config file setting listed the ones by Name that I wanted to use. I used a loop to inspect the extensions that were loaded and, if they were named in the setting, I added them to an internal list.My requirement was to have a specific order that extensions were used, so this solution worked for me.
I could have included metadata in the assemblies to accomplish the same thing, but wanted the information more visible and part of the contract.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.