我从《CLR via C#》第4版587页看到了这一点,这是一句话
使用ReflectionOnlyLoadFrom或ReflectionOnly加载程序集时,CLR禁止执行程序集中的任何代码;在加载了这两种方法的程序集中执行代码的任何尝试都会导致CLR引发InvalidOperationException。
我想是为了线程安全??请给我一些关于这个问题的建议,谢谢。
A"仅反射加载";旨在允许您检查程序集元数据,而不必实际将程序集加载到进程中执行。
您不能从";"仅反射加载";因为程序集实际上并没有加载到可执行进程中。
进一步阅读
如何在将组件包含在应用程序中之前检查带有反射的组件
除了避免激活程序集所需的许多机械部件外,这还避免了模块初始化程序的一些(尽管不太可能(攻击向量(是的,这是一件事——甚至有一个在C#中添加支持的计划(在你认为你所做的只是查看程序集的形状时运行任意代码。
如果你想执行一些事情:不要简单地使用仅反射加载。