装配GetTypes()
在幕后做什么?假设程序集已加载到AppDomain
它是否仍需要从物理 DLL 中读取?装配清单做什么?
像这样遍历程序集:
AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes())
我偶尔会收到以下错误:
Could not load file or assembly
这告诉我,因为程序集被加载到AppDomain
它不一定完全加载到内存中。有时它仍然需要返回文件。
我的问题:
- 为什么这样做?
- 我能做些什么来检测这些半加载的程序集?