public void LoadDependencies(MyAssemblyInfo assemblyInfo) { assemblyInfo.ReferencedAssemblies = assemblyInfo.Assembly.GetReferencedAssemblies().Select(n => new MyAssemblyInfo(n)).ToArray(); foreach (var rai in assemblyInfo.ReferencedAssemblies) { LoadAssembly(rai); } foreach (var rai in assemblyInfo.ReferencedAssemblies) { if (Path.GetDirectoryName(assemblyInfo.FileName) != Path.GetDirectoryName(rai.FileName)) { continue; // skip recursive load } LoadDependencies(rai); } }
public void LoadAssembly(MyAssemblyInfo assemblyInfo) { MyAssemblyInfo ai; if (assemblyInfo.AssemblyName != null) { ai = LoadAssembly(assemblyInfo.AssemblyName); } else if (assemblyInfo.FileName != null) { ai = LoadAssembly(assemblyInfo.FileName); } else { return; } assemblyInfo.Assembly = ai.Assembly; assemblyInfo.AssemblyName = ai.AssemblyName; assemblyInfo.FileName = ai.FileName; }
public void UpdateExportedTypes(MyAssemblyInfo assemblyInfo, bool includeMembers) { assemblyInfo.Types = GetExportedTypes(assemblyInfo.Assembly, includeMembers); }