我已将托管 c++ dll 添加到我的 c#.net 项目中(使用“添加资源”);它发现我试图实例化的类很好,没有编译器错误。但不知何故,我知道我实例化的字段正在获得空引用异常。所以我在设置字段的方法的顶部放置了一个断点......它从未被命中。如果我使用 .dll 中的类注释掉该行,它将到达断点。取消注释,尽管被调用,但该方法永远不会执行。这里发生了什么事?
dll 是 ManagedSpyLib,类是ControlProxy,如果有帮助的话。该调用位于后台工作程序的 DoWork 方法中,该方法肯定是异步启动的——整个线程是否会在不提醒调试器的情况下静默崩溃?我该如何调试呢?
ETA:我在输出窗口或模块窗口中找不到任何关于 dll 的信息。一些谷歌搜索发现了一个修复:将目标更改为 .net 3.5 框架。但我并没有比以前更接近于理解 WTF 正在发生的事情——我的代码有效,但现在我不知道为什么,这更令人费解。有人可以解释这种现象吗?