1

我在 C# 中加载一个 C++/CLI 包装器 dll(到本机 C++ dll),如果我在发布模式下编译我的工具,我会收到 R6034 运行时错误和

A dynamic link library (DLL) initialization failed. (Exception from HRESULT: 0x8007045A).

方案:

C# 工具 ---> 对 C++/CLI 包装器的引用 ---> 静态加载(隐式)本机 C++ dll(附加依赖项 -> lib 文件)

C++库的加载过程似乎有问题(但我在Debug模式下没有问题)!

任何提示或想法!?

谢谢

4

2 回答 2

0

使用符号构建发布版本,然后在 C++ 调试器中对其进行调试。

于 2012-10-15T14:25:30.660 回答
0

运行应用程序的发布版本时,您是否有 .lib 文件的发布版本?如果不是,那么您的发布版本将不会加载 dll 的调试版本以满足 .lib,因此应用程序将不会运行。

于 2012-07-13T16:02:11.797 回答