public InteractiveAssemblyLoader(MetadataShadowCopyProvider shadowCopyProvider = null)
        {
            _shadowCopyProvider = shadowCopyProvider;

            _assembliesLoadedFromLocationByFullPath = new Dictionary <string, AssemblyAndLocation>();
            _assembliesLoadedFromLocation           = new Dictionary <Assembly, LoadedAssembly>();
            _loadedAssembliesBySimpleName           = new Dictionary <string, List <Assembly> >(AssemblyIdentityComparer.SimpleNameComparer);
            _dependenciesWithLocationBySimpleName   = new Dictionary <string, List <AssemblyIdentityAndLocation> >();

            _runtimeAssemblyLoader = AssemblyLoaderImpl.Create(this);
        }
        public InteractiveAssemblyLoader(MetadataShadowCopyProvider shadowCopyProvider = null)
        {
            _shadowCopyProvider = shadowCopyProvider;

            _assembliesLoadedFromLocationByFullPath = new Dictionary<string, AssemblyAndLocation>();
            _assembliesLoadedFromLocation = new Dictionary<Assembly, LoadedAssembly>();
            _loadedAssembliesBySimpleName = new Dictionary<string, List<Assembly>>(AssemblyIdentityComparer.SimpleNameComparer);
            _dependenciesWithLocationBySimpleName = new Dictionary<string, List<AssemblyIdentityAndLocation>>();

            _runtimeAssemblyLoader = AssemblyLoaderImpl.Create(this);
        }