public static void LoadPackages(Action<IPackageFacility> configuration)
{
var facility = new PackageFacility();
Diagnostics = new PackagingDiagnostics();
var assemblyLoader = new AssemblyLoader(Diagnostics);
var graph = new PackagingRuntimeGraph(Diagnostics, assemblyLoader);
var codeLocation = findCallToLoadPackages();
graph.PushProvenance(codeLocation);
configuration(facility);
facility.As<IPackagingRuntimeGraphConfigurer>().Configure(graph);
graph.PopProvenance();
graph.DiscoverAndLoadPackages(() =>
{
_assemblies.Clear();
_assemblies.AddRange(assemblyLoader.Assemblies);
});
}