C# 清除.Net反射缓存
在动态编译C#源代码时,如果我们碰巧尝试执行缺少引用的已编译目标DLL(例如tmp901.tmp.DLL),例如: InnerException:无法加载文件或程序集“\u O2\u Scanner\u MsCatNet,版本=1.0.0,区域性=neutral,PublicKeyToken=null”或其依赖项之一 似乎存在这样一个问题:在该过程的持续时间内,该程序集将永远不会得到解决,即使文件被复制到执行目标程序集(tmp901.tmp.dll)的位置。似乎存在一个缓存问题,阻止重新检查dll是否存在C# 清除.Net反射缓存,c#,reflection,typeloadexception,C#,Reflection,Typeloadexception,在动态编译C#源代码时,如果我们碰巧尝试执行缺少引用的已编译目标DLL(例如tmp901.tmp.DLL),例如: InnerException:无法加载文件或程序集“\u O2\u Scanner\u MsCatNet,版本=1.0.0,区域性=neutral,PublicKeyToken=null”或其依赖项之一 似乎存在这样一个问题:在该过程的持续时间内,该程序集将永远不会得到解决,即使文件被复制到执行目标程序集(tmp901.tmp.dll)的位置。似乎存在一个缓存问题,阻止重新检查dl
当前的解决方案是重新启动主机.NET应用程序,这并不实际。一旦程序集加载失败,我相信您仍然可以使用或手动加载程序集。这应该允许您强制加载程序集,即使它失败一次