从动态类型中抑制RuntimeBinderException消息

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

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

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

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

在此处输入图像描述

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

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

在Visual Studio 2010中

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

在此处输入图像描述

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

在此处输入图像描述

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

在Visual Studio 2017中

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

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

  • 确保它没有被攻击