如何避免动态加载已使用反射加载的程序集?

本文关键字:加载 反射 程序集 何避免 动态 | 更新日期: 2023-09-27 18:11:59

我正在使用Assembly. loadfile (assemblyFilePath)在循环中加载程序集,我想避免调用Assembly。如果程序集已经加载过一次,则使用LoadFile。我应该担心召集集会吗。为已经加载的DLL重复加载文件?谢谢。

如何避免动态加载已使用反射加载的程序集?

不,你不需要担心,因为如果一个程序集已经加载,它将不会再次加载

如果你调用assembly . loadfile(),那么你可以多次加载相同的程序集,但只有当你每次从不同的路径加载程序集。您可以使用assembly . load(),它将只加载一次程序集。您还可以使用

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

对于给定的AppDomain,您可以调用GetAssemblies并查看它是否已加载