.NET 事件似乎AppDomain.AssemblyLoad
捕获了它的事件处理程序中引发的任何异常,而不是将它们传播给触发程序集加载的调用者(例如Assembly.LoadFile()
)。
我的第一个问题是为什么这会捕获所有异常行为?Microsoft 通常非常严格地确保异常始终在其 BCL 中传播。
我的第二个问题,有没有办法关闭这种行为?
背景:我需要在加载程序集时对其进行扫描,并确保它们符合某些约定。如果他们不这样做,则应该抛出异常(并被可能触发程序集负载的多种机制捕获到更高的位置)。
注意:我已经找到了这个问题'Throw exception from AppDomain.AssemblyLoad event',这不是重复的。我的问题合乎逻辑地源于该问题的结论。