Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清除.Net反射缓存_C#_Reflection_Typeloadexception - Fatal编程技术网

C# 清除.Net反射缓存

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

在动态编译C#源代码时,如果我们碰巧尝试执行缺少引用的已编译目标DLL(例如tmp901.tmp.DLL),例如:

InnerException:无法加载文件或程序集“\u O2\u Scanner\u MsCatNet,版本=1.0.0,区域性=neutral,PublicKeyToken=null”或其依赖项之一

似乎存在这样一个问题:在该过程的持续时间内,该程序集将永远不会得到解决,即使文件被复制到执行目标程序集(tmp901.tmp.dll)的位置。似乎存在一个缓存问题,阻止重新检查dll是否存在


当前的解决方案是重新启动主机.NET应用程序,这并不实际。

一旦程序集加载失败,我相信您仍然可以使用或手动加载程序集。这应该允许您强制加载程序集,即使它失败一次