发生 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 类型的第一次机会异常

A first chance exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred

在 Newtonsoft JObjects 上使用动态时,我在调试输出中得到很多 Microsoft.CSharp.RuntimeBinder.RuntimeBinderException。尽管异常必须被困在 Microsoft.CSharp.dll 中的某个地方,但它们的发生让我隐约感到不舒服。我能做些什么来阻止它们(除了完全放弃动态)?

这是一个简短的测试程序,它输出以下异常之一:

    using System;
    using Newtonsoft.Json.Linq;

    namespace DynamicTest {
        class Program {
            static void Main(string[] args) {
                JObject j = new JObject();
                j["DocumentName"] = "Name";
                dynamic d = j;
                d.DocumentName = "Changed";
            }
        }
    }

JSON.Net 的创建者亲自解决了它 here

确保这是次要的,例外是设计使然。有关 RuntimeBinderException 的更多信息已在 Whosebug

上得到解答

顺便说一下,如果您希望禁用这些警告,因为它们会让您感到不舒服。

在Visual Studio中点击工具->选项然后select调试 并选中 仅启用我的代码.