1

有一个c++/cli项目,它是一个windows 应用程序。在调试模式下,我们没有任何问题,但在将其置于发布模式后,此错误就会启动。我搜索并找到了一些论坛答案,但无法帮助我解决这个问题。

请帮我 ....

错误 :

An unhandled exception of type 'System.TypeInitializationException' occurred in Unknown Module

附加信息: “模块”的类型初始值设定项引发了异常。

4

3 回答 3

5

在 C++/CLI 项目中,<Module>该类是特殊的(注意尖括号)。它是一个隐藏的托管类,编译器生成它可以为您的所有非类方法的函数提供一个安全的家。必需,因为 CLR 不支持像 C++ 那样的自由函数。

的类型初始化器<Module>特别特别,它在程序开始时早就运行。这就是 CRT 开始的地方,代码中的任何静态对象都被初始化。

因此,您的基本诊断是代码中静态对象的初始化失败。这发生在启动时并且只发生在发布版本中,这非常非常痛苦。调试器不允许您单步执行此代码,当然您在发布版本中没有好的调试信息。运气好的话,根本原因是没有得到处理的 C++ 或 SEH 异常。Debug + Exceptions,勾选 Throw 复选框。抛出异常时调试器将停止。

于 2013-05-28T10:31:00.480 回答
0

运行应用程序的机器是否具有所有必需的 dll?

我坚信您在本地目录中缺少一些互操作

于 2013-05-28T08:53:21.803 回答
0

我遇到了同样的问题,在我安装 Visual Studio 2015 Redistributable x64x86后它得到了修复。

安装 VS C++ 2015 Redistributable ( x64 & x86 )

确保同时安装 x64 和 x86 版本。

希望这可以解决问题。

于 2018-10-18T23:14:56.753 回答