none
求助使用CLR调用DLL的问题! RRS feed

  • 问题

  • 引用:
    #using "ClassSpeechLibrary.dll"
    using namespace ClassSpeechLibrary;
    using namespace System;

    调用:
    ClassSpeechLibrary::SpeechObject^ sp = gcnew ClassSpeechLibrary::SpeechObject;

    注:但是我使用控制台程序调用ClassSpeechLibrary.dll就不会出现以上问题,程序能正常运行。

    “BSContact.exe”: 已加载“F:\Program Files\Bitmanagement Software\DeveloperBuild 7.213\BSContact.exe”
    “BSContact.exe”: 已加载“F:\Windows\System32\ntdll.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\kernel32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\KernelBase.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.mfc_1fc8b3b9a1e18e3b_9.0.30729.4148_none_4bf5400abf9d60b7\mfc90u.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\msvcr90.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\user32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\gdi32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\lpk.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\usp10.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\msvcrt.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\shlwapi.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\advapi32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\sechost.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\rpcrt4.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\msimg32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\shell32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\ole32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\oleaut32.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\msvcp90.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\apphelp.dll”
    “BSContact.exe”: 已加载“F:\Windows\AppPatch\AcLayers.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\sspicli.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\userenv.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\profapi.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\winspool.drv”
    “BSContact.exe”: 已加载“F:\Windows\System32\mpr.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\imm32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\msctf.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\uxtheme.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\dwmapi.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.mfcloc_1fc8b3b9a1e18e3b_9.0.30729.4148_none_4973eb1d754a9dc9\MFC90CHS.DLL”,未使用调试信息生成二进制文件。
    “BSContact.exe”: 已加载“F:\Windows\System32\cryptbase.dll”
    “BSContact.exe”: 已加载“D:\Program Files\360\360Safe\safemon\safemon.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\msvcp60.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\wininet.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\normaliz.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\iertutil.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\urlmon.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\psapi.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\ws2_32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\nsi.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\version.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\clbcatq.dll”
    “BSContact.exe”: 已加载“F:\Program Files\Bitmanagement Software\DeveloperBuild 7.213\BSContactVRML.ocx”
    “BSContact.exe”: 已加载“F:\Windows\System32\winmm.dll”
    “BSContact.exe”: 已加载“F:\Program Files\Bitmanagement Software\DeveloperBuild 7.213\j2k-codec.dll”,未使用调试信息生成二进制文件。
    “BSContact.exe”: 已加载“F:\Windows\System32\comdlg32.dll”
    “BSContact.exe”: 已加载“F:\Program Files\Bitmanagement Software\DeveloperBuild 7.213\d3dx9_26.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\avifil32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\msacm32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\msvfw32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\d3d9.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\d3d8thk.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\aticfx32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\atiu9pag.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\atiumdag.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\atiumdva.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\comctl32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\cryptsp.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\rsaenh.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\RpcRtRemote.dll”
    BSContact.exe 中的 0x75239673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012ddf8 处的 COleException。
    BSContact.exe 中的 0x75239673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012ddf8 处的 COleException。
    “BSContact.exe”: 已加载“F:\Program Files\Lenovo\HOTKEY\HKVOLKEY.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\QQPinyin.ime”
    “BSContact.exe”: 已卸载“F:\Windows\System32\QQPinyin.ime”
    “BSContact.exe”: 已加载“F:\Windows\System32\QQPinyin.ime”
    “BSContact.exe”: 已加载“F:\Windows\System32\wtsapi32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\netapi32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\netutils.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\srvcli.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\wkscli.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\winsta.dll”
    BSContact.exe 中的 0x75239673 处最可能的异常: 0x000006BA: RPC 服务器不可用。
    BSContact.exe 中的 0x75239673 处最可能的异常: 0x000006BA: RPC 服务器不可用。
    “BSContact.exe”: 已加载“F:\Windows\System32\ntmarta.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\Wldap32.dll”
    线程 'Win32 线程' (0x8e0) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1058) 已退出,返回值为 1 (0x1)。
    线程 'Win32 线程' (0xae0) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1418) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x15fc) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x630) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1784) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0xc4c) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x16c8) 已退出,返回值为 1 (0x1)。
    线程 'Win32 线程' (0x11bc) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x390) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0xc68) 已退出,返回值为 0 (0x0)。
    “BSContact.exe”: 已加载“F:\Windows\System32\glu32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\opengl32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\ddraw.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\dciman32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\setupapi.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\cfgmgr32.dll”
    “BSContact.exe”: 已加载“F:\Windows\System32\devobj.dll”
    “BSContact.exe”: 已加载“F:\Users\YYJ\Desktop\new object\SpeechTest\Debug\JoyStickPlugIn.dll”,已加载符号。
    “BSContact.exe”: 已加载“F:\Windows\System32\mscoree.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.debugmfc_1fc8b3b9a1e18e3b_9.0.30729.1_none_bfff6c932d60651e\mfc90ud.dll”,已加载符号。
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll”,已加载符号。
    “BSContact.exe”: 已加载“F:\Windows\System32\dbghelp.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcp90d.dll”,已加载符号。
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcm90d.dll”,已加载符号。
    “BSContact.exe”: 已加载“F:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll”
    “BSContact.exe”: 已加载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll”
    “BSContact.exe”: 已加载“F:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_d08a205e442db5b5\msvcr80.dll”
    “BSContact.exe”: 已加载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll”
    “BSContact.exe”: 已卸载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll”
    “BSContact.exe”: 已加载“F:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\1b31ced9bb880d94fff1c6d47c16a81e\mscorlib.ni.dll”
    “BSContact.exe”(托管): 已加载“F:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll”
    “BSContact.exe”(托管): 已加载“f:\Users\YYJ\Desktop\new object\SpeechTest\Debug\JoyStickPlugIn.dll”,符号已加载。
    “BSContact.exe”: 已加载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll”
    “BSContact.exe”: 已加载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\diasymreader.dll”
    “BSContact.exe”(托管): 已加载“F:\Windows\WinSxS\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcm90d.dll”,符号已加载。
    “BSContact.exe”: 已加载“F:\Windows\assembly\NativeImages_v2.0.50727_32\System\95b9866ab6e4437ef5dc5855ebab4e33\System.ni.dll”
    “BSContact.exe”(托管): 已加载“F:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll”
    BSContact.exe 中的 0x75239673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
    “BSContact.exe”: 已加载“ImageAtBase0x68f40000”,未加载任何符号。
    “BSContact.exe”: 已加载“ImageAtBase0x1870000”,未加载任何符号。
    “BSContact.exe”: 已卸载“ImageAtBase0x68f40000”
    “BSContact.exe”: 已加载“F:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_zh-CHS_b77a5c561934e089\mscorlib.Resources.dll”,未使用调试信息生成二进制文件。
    “BSContact.exe”(托管): 已加载“F:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_zh-CHS_b77a5c561934e089\mscorlib.resources.dll”
    “BSContact.exe”: 已加载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll”
    “BSContact.exe”: 已卸载“F:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll”
    BSContact.exe 中的 0x75239673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
    BSContact.exe 中的 0x75239673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
    在 System.IO.FileNotFoundException 中第一次偶然出现的“JoyStickPlugIn.dll”类型的异常
    未处理的“System.IO.FileNotFoundException”类型的异常出现在 JoyStickPlugIn.dll 中。

    其他信息: 未能加载文件或程序集“ClassSpeechLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。

    线程 'Win32 线程' (0x11f0) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x16d4) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x123c) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1320) 已退出,返回值为 0 (0x0)。
    线程 '主线程' (0x1460) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x14d8) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x4f0) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x108c) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1050) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1048) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0xa94) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1558) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1400) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x14a0) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x1478) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x2e8) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x17a8) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0x874) 已退出,返回值为 0 (0x0)。
    线程 'Win32 线程' (0xd98) 已退出,返回值为 0 (0x0)。
    程序“[4808] BSContact.exe: 托管”已退出,返回值为 0 (0x0)。
    程序“[4808] BSContact.exe: 本机”已退出,返回值为 0 (0x0)。

     

    2011年11月23日 3:40

全部回复

  • 你好!

    请问你的DLL在创建的时候,是不是选择C++ win32 application 的DLL程序类型?

    你的CLR项目是windows类型,还是console类型?

    而且我们希望你能提供一些代码,特别是加载调用DLL的代码,以便我们能够重现这个问题以尽早解决。

    谢谢!

     


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us
    2011年11月24日 7:04