void LoadReferences(Assembly asm, HashSet<string> inspected)
{
AssemblyName[] allReferences = asm.GetReferencedAssemblies();
foreach(AssemblyName toLoad in allReferences)
{
if(!inspected.Contains(toLoad.Name))
{
inspected.Add(toLoad.Name);
// ReSharper disable ConditionIsAlwaysTrueOrFalse
if(LogTraceInfo)
// ReSharper restore ConditionIsAlwaysTrueOrFalse
// ReSharper disable HeuristicUnreachableCode
#pragma warning disable 162
{
WriteLine("Loading Reference [ " + toLoad.FullName + " ]");
}
#pragma warning restore 162
// ReSharper restore HeuristicUnreachableCode
Assembly loaded = AppDomain.CurrentDomain.Load(toLoad);
LoadReferences(loaded, inspected);
}
}
}