拥有 c ++ / cli 项目,它是 Windows应用程序。在调试模式下,我们没有任何问题,但在将其带到释放模式后,此错误启动。我搜索并找到了一些论坛答案,但无法帮助我解决这个问题。
请帮助我....
错误:
An unhandled exception of type 'System.TypeInitializationException' occurred in Unknown Module
其他信息:“模块”的初始化程序类型引发了异常。
答案 0 :(得分:5)
在C ++ / CLI项目中,<Module>
类是特殊的(请注意尖括号)。它是一个隐藏的托管类,编译器生成它来为所有不是类方法的函数提供安全的家。必需,因为CLR不支持像C ++那样的免费函数。
<Module>
的类型初始化程序非常特殊,它在程序开始时提前运行 very 。这就是CRT启动的地方,代码中的任何静态对象都会被初始化。
因此,您的基本诊断是代码中静态对象的初始化失败。这种情况发生在启动和只发生在Release版本中非常非常痛苦。调试器不允许您单步执行此代码,当然,您在Release版本中没有良好的调试信息。幸运的是,根本原因是没有得到处理的C ++或SEH异常。 Debug + Exceptions,勾选Thrown复选框。抛出异常时调试器将停止。
答案 1 :(得分:0)
运行应用程序的机器是否具有所有必需的dll ??
我坚信您缺少本地目录中的一些互操作
答案 2 :(得分:0)