繁体   English   中英

无法从C#运行C ++ clr dll-卸载Dll吗?

[英]Can't run C++ clr dll from C# - Dll Unloaded?

我见过几个有类似问题的人,但到目前为止,这些修复方法均无效。

我有一个C#应用程序(Windows窗体),并且/我正在尝试使用C ++ clr dll。 该dll似乎可以正常加载,我可以构建并运行该应用程序,但是,如果我对该dll进行调用,则该程序将引发FileNotFound异常“无法加载文件或程序集'MyLibrary.dll'或其依赖项之一。指定的模块可以找不到。”:“ MyLibrary.dll”。

最后一个错误是1008,Error_No_Token

dll位于exe文件夹中。

我一直在研究peverify和ildasm,但那里没有发现任何问题。

我对它运行了依赖行者,并在日志中看到了这个异常的序列:

在地址0x00007FFB93400000处卸载了“ MYLIBRARY.DLL”。

LoadLibraryExW(“ C:\\ source \\ tools \\ ToolItemProj \\ ToolItem \\ ToolItem \\ bin \\ x64 \\ Debug \\ MyLibrary.dll”,0x0000000000000000,LOAD_WITH_ALTERED_SEARCH_PATH)返回NULL。 错误:找不到指定的模块(126)。

我已经在其上运行ProcMon并提出了几个整体,但大多数都成功了,但是QueryAllInformation出现BufferOverflow错误,并且FileFileedWithOnlyReaders(一次)CreateFileMapping失败(然后再次运行并成功)。 创建一个INI似乎也因NameNotFound而失败。

因此,由于缓冲区溢出,它似乎在运行时正在卸载dll。 但是,我该如何追踪呢? 有人对此有经验吗?

这已经解决了。 该dll包括另一个我没有的dll。 我能够通过原始开发人员跟踪此dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM