C# 当库链接为DLL时,VisualStudio调试器在处理异常时中断

C# 当库链接为DLL时,VisualStudio调试器在处理异常时中断,c#,visual-studio-2010,visual-studio-debugging,C#,Visual Studio 2010,Visual Studio Debugging,我的C#应用程序有一个讨厌的问题。为了简化场景,我有一个main.exe项目,它引用另一个C#库作为直接DLL依赖项。此DLL在特定位置抛出异常,调试器正在破坏这些异常。但是,会处理异常,不会重新抛出。VS中的“我的异常”对话框被选中,仅在用户未处理的此类异常(InvalidOperationException)上使调试器中断,但它仍在中断 但是,如果我将同一个库链接为项目引用(而不是已编译的DLL),调试器将不再因此异常而中断 同样,如果我直接(在调试器外部)运行.exe程序,我看不到任何证据

我的C#应用程序有一个讨厌的问题。为了简化场景,我有一个main.exe项目,它引用另一个C#库作为直接DLL依赖项。此DLL在特定位置抛出异常,调试器正在破坏这些异常。但是,会处理异常,不会重新抛出。VS中的“我的异常”对话框被选中,仅在用户未处理的此类异常(InvalidOperationException)上使调试器中断,但它仍在中断

但是,如果我将同一个库链接为项目引用(而不是已编译的DLL),调试器将不再因此异常而中断

同样,如果我直接(在调试器外部)运行.exe程序,我看不到任何证据表明此异常没有得到预期的处理。没有错误,并且我的日志记录指示预期的控制流

相关的代码已经有一段时间没有改变了,但是我已经重构了我的解决方案和项目;我以前只使用项目引用,所以在转到DLL引用之前,可能从未发现过这个问题


关于调试器为什么会破坏这个已处理的异常,有人能给我提供一些建议吗

我做了更多的谷歌搜索和摆弄,我已经确定了这样一个想法:“只启用我的代码”似乎是导致调试器崩溃的原因


这个链接让我清楚地了解了这个选项如何影响调试器:

非常奇怪。如果删除从属dll的pdb会发生什么情况?无更改;事实上,在这种情况下,PDB不存在。(但我也尝试过同样的场景,包括PDB)看看这个问题。