我需要在目录中获取程序集列表。还有另外一种方法吗?
System.IO.Directory.GetFiles(directory, "*.dll")
答案 0 :(得分:4)
托管程序集也可以是EXE。而您的代码只获取扩展名为“dll”的文件。还将返回非组件的Ntive DLL。
在我需要执行此操作的少数情况下,我只获得了所有文件的列表(类似于您所做的),然后使用Assemby.LoadFrom尝试加载每个文件,在事件中捕获异常当地人。典型的异常是ReflectionTypeLoadException,但如果无法解析引用,也可能会得到这个异常。