我最近开始使用私有(private) NuGet 服务器来管理我组织的内部库。这意味着为了进入库中我们自己的代码,我需要在调试选项中禁用“仅启用我的代码”,因为我们不再直接引用项目。这是一个非常庞大的 MVC 项目,除了 ViewBag
之外,它还使用动态类型和 ExpandoObjects
。每次使用动态类型时,我都会得到两个 RuntimeBinderExceptions
......这很多。从我读过的内容来看,这似乎是正常行为。它可能很正常,但没有用。
我的第一个想法是在“调试”->“异常”对话框中禁用这个特定的异常。在那里找不到异常(exception)。我想不出任何方法能够走出直接引用的项目,同时又不让自己接受这些异常(exception)。 (以及我不想听到的各种其他低级框架异常,但这是迄今为止最大的违规者)。
处理这个问题的最佳方法是什么?
编辑:这就是问题所在。如何在禁用“仅启用我的代码”的情况下停止此操作?
最佳答案
您可以添加额外的“异常”名称(存在于您自己的代码或其他库中)...只要您知道异常的完全限定类型名称即可。
使用调试器管理异常
https://msdn.microsoft.com/en-us/library/x85tt0dd.aspx
在 Visual Studio 2010 中
通过 Debug |异常...
对话框。
- 使用
添加
按钮在Common Language Runtime Exceptions
组下添加一个新的异常并将其命名为Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
- 然后只需确保未勾选
Thrown
和User-Handled
- 从而导致第一次机会异常被忽略,而不是被调试器捕获。<
在 Visual Studio 2017 中
通过 Debug | window |异常设置...
面板
- 使用+添加新的异常名称
- 确保未勾选
关于c# - 抑制来自动态类型的 RuntimeBinderException 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11439486/