microsoft / vs-mef

Managed Extensibility Framework (MEF) implementation used by Visual Studio
MIT License
439 stars 87 forks source link

Avoid loading assemblies from cached catalogs when composing #76

Open AArnott opened 6 years ago

AArnott commented 6 years ago

When one of the assemblies that contribute to the MEF catalog are changed, we have to rescan that assembly, then we have to recompose the graph. Although scanning an assembly is relatively quick, composing the graph can take a long time, and loads many assemblies in the process even though they weren't changed from their cached catalog versions.

There are at least two reasons why composing loads assemblies from the catalog, and I think we can solve them.

AArnott commented 6 years ago

I have a branch where I've modified tests to verify that we don't load assemblies during composition (these tests fail at present) and I'm working through the issues.