示例#1
0
 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);
     }
 }
示例#2
0
        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;
        }
示例#3
0
 public void UpdateExportedTypes(MyAssemblyInfo assemblyInfo, bool includeMembers)
 {
     assemblyInfo.Types = GetExportedTypes(assemblyInfo.Assembly, includeMembers);
 }