在之前看到相同的绑定后没有加载程序集,并且在hr = 0x80070002'时失败了

时间:2017-04-28 22:44:10

标签: c# .net .net-assembly

我看到一个奇怪的问题,一旦程序集无法加载,它就不会从具有相同父进程的其他进程加载。 假设有Parent.exe首先创建Child1.exe并尝试使用

加载程序集
Type.GetType("TypeName, AssemblyName1") 

并且它失败,因为程序集不在探测路径中。我得到了预期的警告:

  

WRN:为程序集提供了部分绑定信息

但是当Parent.exe创建Child2.exe并且AssemblyName1在其探测路径中时,它仍然无法加载AssemblyName1。 Fusion日志显示它甚至没有尝试探测并提供错误消息

  

日志:之前看到过相同的绑定,并且hr =失败   0x80070002

我看到这个是因为Child1.exe和Child2.exe都是从Parent.exe创建的吗?

我很困惑。我理解加载上下文是在应用程序域中共享的,但我从未见过跨进程共享加载失败缓存。也许我误解了这个?

0 个答案:

没有答案