从动态类型中抑制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
- 然后确保没有勾选
Thrown
和User-Handled
– 因此导致第一次机会exception被忽略,而不是被调试器捕获。
在Visual Studio 2017中
通过Debug | Windows | Exception Settings...
Debug | Windows | Exception Settings...
Debug | Windows | Exception Settings...
面板
- 使用+添加新的例外名称
- 确保它没有被攻击