从动态类型中抑制RuntimeBinderException消息

时间:2012-07-11 18:55:00

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

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

我的第一个想法是在Debug->中禁用这个特定的exeption。例外对话框。那里没有例外。我无法想出任何方式能够直接引用直接引用的项目,而不会打开自己的这些例外。 (以及我不想听到的各种其他低级框架例外情况,但到目前为止这是最大的违规者。)

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

编辑:这是问题所在。如何通过禁用“启用我的代码”来停止此操作?

enter image description here

1 个答案:

答案 0 :(得分:12)

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

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

在Visual Studio 2010中

通过Debug | Exceptions...对话框。

enter image description here

  • 使用Add按钮在Common Language Runtime Exceptions群组下添加新例外并将其称为Microsoft.CSharp.RuntimeBinder.RuntimeBinderException

enter image description here

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

在Visual Studio 2017中

通过Debug | Windows | Exception Settings...面板

enter image description here

enter image description here

  • 使用+添加新的例外名称

enter image description here

  • 确保它未被取消