2010-06-30 133 views
0

试图设置我的笔记本电脑来编辑并运行我的C#应用​​程序,它调用C++ dll。编译是好的,但是当我运行它时,发生了TypeInitializationException was unhandled错误。Visual Studio 2008的TypeInitializationException

它说:The type initializer for '<Module>' threw an exception.

我也安装了Visual Studio 2008 SP1。

我的台式电脑没有任何问题。相同的操作系统,Windows XP。

有什么想法吗?

回答

1

在调试器下运行该应用程序,并看看InnerException属性 - 它应该告诉你什么失败。

或者,设置调试器以打破每个异常,而不是只打破未处理的异常的默认行为。它应该带你到失败的代码行。

如果这没有帮助,并且您自己构建了C++ DLL,请通过C#项目的属性打开非托管调试。这将允许您进入C++代码并追踪原始错误。

+0

InnerException说:C++模块加载失败。无法加载DLL MSVCR80.dll。如何解决它? – 5YrsLaterDBA 2010-06-30 19:31:12

+0

听起来像你需要部署MSVCR80.DLL。这将已经安装在你的开发机器上,但它不会安装在没有安装VS2008的机器上。阅读这篇文章:http://support.microsoft.com/kb/326922 – 2010-06-30 19:40:56

0

以我的经验,这意味着你缺少一个库引用程序集或Dll,或者你的一个对象的构造函数抛出异常。