Benchmarque.Console.Program.AddDependentAssembly C# (CSharp) Method

AddDependentAssembly() static private method

static private AddDependentAssembly ( DependencyGraph graph, string assemblyPath, string referencedAssemblyName ) : void
graph DependencyGraph
assemblyPath string
referencedAssemblyName string
return void
        static void AddDependentAssembly(DependencyGraph<string> graph, string assemblyPath,
            string referencedAssemblyName)
        {
            string name = Path.GetFileName(assemblyPath);
            string path = Path.GetDirectoryName(assemblyPath);

            string referencedPath = Path.Combine(path, referencedAssemblyName + ".dll");
            if (File.Exists(referencedPath))
            {
                string assemblyName = Path.GetFileName(referencedPath);

                graph.Add(name, assemblyName);

                Assembly assembly = Assembly.ReflectionOnlyLoadFrom(referencedPath);
                foreach (AssemblyName referencedAssembly in assembly.GetReferencedAssemblies())
                {
                    string referencedName = Path.GetFileName(referencedAssembly.Name);

                    AddDependentAssembly(graph, assemblyName, referencedName);
                }
            }
        }