我在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 ++库的加载过程似乎有问题(但我在调试模式下没有问题)!
任何提示或想法!?
THX
答案 0 :(得分:0)
在运行应用的发布版本时,您是否有.lib文件的发布版本?如果没有,那么你的发布版本将不会加载dll的调试版本以满足.lib,因此应用程序将无法运行。
答案 1 :(得分:0)
使用符号构建发布版本,然后在C ++调试器中对其进行调试。