2012-07-13 120 views
1

我加載在C#中的C++/CLI包裝DLL(以本地C++的dll),如果我在釋放模式編譯我的工具,我越來越R6034運行時錯誤,運行時錯誤R6034在C#程序

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

方案:

C#工具--->引用C++/CLI包裝--->靜載荷(隱含的)本地C++ DLL(附加依賴 - > LIB文件)

看來,什麼是錯的與C++庫的加載過程(但在調試模式下我沒有問題)!

任何提示或想法!?

THX

回答

0

運行你的應用程序的發佈版本時,你有沒有.LIB文件的發佈版本?如果沒有,那麼你的發佈版本將不會加載dll的調試版本來滿足.lib,因此應用程序將無法運行。

0

使用符號構建發佈版本,然後在C++調試器中進行調試。