问题遇到的现象和发生背景
Expression: [mscorlib recursive resource lookup bug]

操作环境、软件版本等信息
该装的支持库基本都有了

尝试过的解决方法
不是的是不是杀毒软件的问题
我想要达到的结果
正常运行
Expression: [mscorlib recursive resource lookup bug]

该装的支持库基本都有了

不是的是不是杀毒软件的问题
正常运行
关注引自免费微信小程序:皆我百晓生
您遇到了一个.NET程序在运行时抛出“mscorlib recursive resource lookup bug”的异常,这表明在尝试查找资源文件时发生了无限递归的情况。这可能是由于mscorlib库内部的逻辑错误,或者是您的应用程序或某个插件扩展点(例如程序集加载事件处理程序或特定文化信息名称)中存在某种冲突。
针对这个问题,可以尝试以下步骤进行排查和解决:
检查程序集依赖与配置: 确保所有相关的.NET框架和库都是最新且兼容的版本,从您提供的列表看似乎已经安装了许多不同版本的Visual C++ redistributables和其他支持库,但要确保没有版本冲突,并且与您应用程序所需的.NET Framework版本完全匹配。
资源文件循环引用: 检查项目中的资源文件是否存在循环引用或其他不正确的引用方式,确保资源查找路径正确无误,没有形成死循环。
自定义程序集加载逻辑:
查看mt.cks类中的fKK方法,这个方法参与了程序集的加载过程。可能存在在此处实现的自定义程序集加载逻辑导致了无限递归。检查此方法以及其他可能影响程序集加载或资源查找的全局事件处理器,移除可能导致循环的逻辑。
清理并重建项目: 清理整个项目,包括bin和obj目录下的编译输出,然后重新构建项目,有时候缓存的编译产物可能会引发这类问题。
调试堆栈跟踪:
根据提供的堆栈跟踪信息,重点关注MainForm.method_30以及相关联的方法调用,这些地方可能触发了资源查找流程。在IDE中设置断点进行调试,观察在资源查找过程中变量的状态变化,找到可能引起递归的原因。
安全模式启动应用: 如果有用户代码或第三方组件参与资源加载,尝试禁用或替换这些部分,以确认是否它们是故障根源。
更新.NET框架: 确保.NET框架是最新的稳定版,有时微软会发布修复此类问题的补丁。
检查CultureInfo设置: 在资源查找的过程中,涉及到CultureInfo,确保在获取资源字符串时使用的文化信息是正确且不会导致递归的。
如果上述步骤仍无法解决问题,建议创建一个最小可复现问题的示例项目,并联系微软官方技术支持或社区寻求进一步的帮助,提供足够的信息以便他们能更好地定位问题所在。同时,也可以考虑查看.NET框架的相关文档或已知问题列表,看看是否有相似情况的解决方案。