Skip to content

Instantly share code, notes, and snippets.

@aashishkoirala
Last active December 20, 2015 20:59
Show Gist options
  • Save aashishkoirala/6194165 to your computer and use it in GitHub Desktop.
Save aashishkoirala/6194165 to your computer and use it in GitHub Desktop.
Handling duplicate assemblies in MEF.
var assemblyFiles = new List<string>();
foreach (var modulesDirectory in modulesDirectories)
{
using (var directoryCatalog = new DirectoryCatalog(modulesDirectory))
assemblyFiles.AddRange(directoryCatalog.LoadedFiles);
}
var assemblyCatalogs = assemblyFiles
.Distinct()
.Select(Assembly.LoadFrom)
.Distinct(new AssemblyEqualityComparer())
.Select(x => new AssemblyCatalog(x))
.ToList();
var container = new CompositionContainer(new AggregateCatalog(assemblyCatalogs));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment