public CoreClrAssemblyLoader(PackageGraph graph, string assemblyPath)
        {
            _graph         = graph;
            _assemblyPaths = new Dictionary <AssemblyName, string>(new AssemblyNameComparer());
            var directory = new DirectoryInfo(Path.GetDirectoryName(assemblyPath));

            if (directory.Exists)
            {
                foreach (var assembly in directory.EnumerateFiles("*.dll"))
                {
                    if (TryGetAssemblyName(assembly.FullName, out var name))
                    {
                        _assemblyPaths.Add(name, assembly.FullName);
                    }
                }
            }

            foreach (var path in graph.GetAssembliesFullPath())
            {
                if (TryGetAssemblyName(path, out var name) && !_assemblyPaths.ContainsKey(name))
                {
                    _assemblyPaths.Add(name, path);
                }
            }

            _loadContext = new ApiCheckLoadContext(FindAssemblyPath);
        }