1

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

InnerException:无法加载文件或程序集“_O2_Scanner_MsCatNet,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。

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

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

4

1 回答 1

0

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

于 2010-02-16T16:18:59.463 回答