【发布时间】:2012-05-10 15:39:24
【问题描述】:
我的 ASP.NET 网页需要 C++ .NET DLL 提供的一些数据。就加载此 DLL 并在其中调用函数而言,一切似乎都运行良好,但现在我的项目似乎已经进入了一种状态,如果我在 .cs 文件中引用 DLL,它实际上并没有调试。
我注释掉了所有引用该 DLL 的代码并从我的项目中删除了该引用,它运行良好。我添加了对 DLL 的引用,它工作正常。我只取消了 DLL 命名空间的 using 语句(在本例中使用 MDnlnkCmdReader;),没有留下引用 DLL 的实际代码,现在,当我点击调试时,我的断点都没有命中。再次注释掉该行,断点再次命中。
当它进入网页似乎可以正确加载但没有断点命中的状态时,如果我切换回源代码并查看断点,它们会显示为带有警告标志的大纲,如果我将鼠标悬停在它们上,然后它说“断点当前不会被命中。源代码与原始版本不同”
我也查看了该错误消息并尝试了通常的解决方案。如果我核对整个 /bin 文件夹,我就会开始收到有关 global.asax 的网络服务器错误消息。这些一直存在,直到我在任何 CPU 模式下构建(通常在 x64 中构建),此时我收到有关 DLL(在 x64 中构建)的“无法加载”消息。当我删除对它的引用时,页面会再次运行。切换回 x64 模式并重新添加引用,我就回到了我开始的地方。重启似乎也无济于事。
你知道这里发生了什么,以及如何摆脱它吗?
【问题讨论】:
-
附加调试器时,是否正在切换目标代码类型?
标签: asp.net