c# - 抑制来自动态类型的 RuntimeBinderException 消息

标签 c# .net visual-studio-2010 debugging

我最近开始使用私有(private) NuGet 服务器来管理我组织的内部库。这意味着为了进入库中我们自己的代码,我需要在调试选项中禁用“仅启用我的代码”,因为我们不再直接引用项目。这是一个非常庞大的 MVC 项目,除了 ViewBag 之外,它还使用动态类型和 ExpandoObjects。每次使用动态类型时,我都会得到两个 RuntimeBinderExceptions ......这很多。从我读过的内容来看,这似乎是正常行为。它可能很正常,但没有用。

我的第一个想法是在“调试”->“异常”对话框中禁用这个特定的异常。在那里找不到异常(exception)。我想不出任何方法能够走出直接引用的项目,同时又不让自己接受这些异常(exception)。 (以及我不想听到的各种其他低级框架异常,但这是迄今为止最大的违规者)。

处理这个问题的最佳方法是什么?

编辑:这就是问题所在。如何在禁用“仅启用我的代码”的情况下停止此操作?

enter image description here

最佳答案

您可以添加额外的“异常”名称(存在于您自己的代码或其他库中)...只要您知道异常的完全限定类型名称即可。

使用调试器管理异常
https://msdn.microsoft.com/en-us/library/x85tt0dd.aspx

在 Visual Studio 2010 中

通过 Debug |异常... 对话框。

enter image description here

  • 使用添加按钮在Common Language Runtime Exceptions组下添加一个新的异常并将其命名为Microsoft.CSharp.RuntimeBinder.RuntimeBinderException

enter image description here

  • 然后只需确保未勾选ThrownUser-Handled - 从而导致第一次机会异常被忽略,而不是被调试器捕获。<

在 Visual Studio 2017 中

通过 Debug | window |异常设置... 面板

enter image description here

enter image description here

  • 使用+添加新的异常名称

enter image description here

  • 确保未勾选

关于c# - 抑制来自动态类型的 RuntimeBinderException 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11439486/

相关文章:

c# - 捕获 OutOfMemoryException 使调试变得困难

c# - 检查是否为任何属性分配了值

visual-studio-2010 - 有没有人有OverviewMargin 可以用VS2010 RTM 编译?

visual-studio-2010 - Visual Studio 2010 中的文本覆盖

c# - 是否可以在不更改请求 Url 的情况下重新加载页面 Url?

c# - 在 ListBox 中显示自定义对象列表,为每个对象使用自定义用户控件

c# - 编译器如何使用 'yield return'来构建类

c# - 通过 MSI 安装后可执行文件未签名

.net - SQL Server 的两个管理员帐户

vb.net - 如何在 VS 2010 项目中定义 'Start external program' 的相对路径?