"模块"的类型初始值设定项引发异常

The type initializer for 'Module' threw an exception

本文关键字:异常 模块 类型      更新时间:2023-10-16

有一个c++/cli项目,它是一个windows应用程序。在调试模式下,我们没有任何问题,但在进入发布模式后,这个错误启动了。我在论坛上搜索了一些答案,但都没能帮我解决这个问题。

请帮帮我....

错误:

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

附加信息: 'Module'的类型初始化器抛出异常。

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

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

因此,您的基本诊断是代码中静态对象的初始化失败。这在启动时发生,而只在发布版本中发生,这是非常非常痛苦的。调试器不允许您逐步完成这些代码,当然,在发布版本中您也没有好的调试信息作为开始。运气好的话,根本原因是c++或SEH异常没有得到处理。调试+异常,勾选抛出的复选框。当抛出异常时,调试器将停止。

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

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

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

Install VS c++ 2015 Redistributable (x64 &x86)

确保你安装了x64和x86版本。

希望这能解决问题。