如何避免使用Reflection已加载动态加载程序集?

时间:2011-10-19 17:41:50

标签: c# .net reflection

我在循环中使用Assembly.LoadFile(assemblyFilePath)加载程序集,如果程序集已经加载一次,我想避免调用Assembly.LoadFile。我是否应该关注为已经加载的DLL重复调用Assembly.LoadFile?感谢。

2 个答案:

答案 0 :(得分:19)

不,您不需要担心,因为如果已经加载了一个程序集,它将不再被加载

如果调用Assembly.LoadFile(),则可以多次加载同一个程序集,但前提是每次都从不同的路径加载程序集。您可以使用仅Assembly.Load()加载程序集一次。您还可以使用

在当前应用程序域中找到已加载的程序集
Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies();

答案 1 :(得分:0)

对于给定的AppDomain,您可以致电GetAssemblies并查看是否已加载。