1:方法比较笨,直接装载一个目录下面的所有 DLL 文件。注意要用 LoadFrom()这样才会装载到当前应用程序域里面。
DirectoryInfo DD = new DirectoryInfo(txtPath.Text); FileInfo[] FF = DD.GetFiles("*.dll"); List<Assembly> list1 = new List<Assembly>(); foreach (FileInfo F1 in FF) { list1.Add(Assembly.LoadFrom(F1.FullName)); } List<Assembly> list2 = list1.Where(m => m.FullName.Contains("Fdays.WebApp")).ToList<Assembly>();
Assembly aa = list2[0];
System.Collections.IEnumerator iEnum = aa.GetTypes().GetEnumerator(); while(iEnum.MoveNext()) { Type TT = (Type)iEnum.Current; listBox1.Items.Add(TT.Name); }
2:只装载指定的程序集,然后根据它里面的依赖项信息,再装载它的依赖项,这里有个前提,就是依赖项程序集的名称与它的文件名要相同。
Assembly.GetReferencedAssemblies(),得到依赖项集合。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|