我想为我从非托管(C)代码调用的OpenPop创建一个C#managed x86 DLL包装器。
我过去使用NuGet" UnmanagedExports"为其他产品做过这个。包似乎运作良好。
我尝试使用OpenPop.net程序包执行此操作,但只要我调用" client = new Pop3Client();"我就会获得GPF。如果我删除所有对OpenPop的调用,DLL将加载并正确返回。
此外,我在try / catch结构中访问OpenPop但它仍然失败了GPF(而不是捕获此错误)。
我安装了最新的OpenPop.net软件包v2.0.6.1120,我的目标是.net v4.5.2(我也尝试过v4.0但没有区别)。
可以将OpenPop.net与UnmanagedExports包一起使用吗?如果是的话,有关我如何调试这个的任何建议吗?
谢谢!
(我知道这是免费软件,所以没有预料到支持,所以如果需要,我非常乐意支付费用)
答案 0 :(得分:0)
我发现了问题...我没有将OpenPop.dll复制到我的DLL加载的应用程序文件夹中。文件可用后,GPF不再出现。太糟糕了,这不能被C#异常处理程序所困。