C# 类型为'的首次机会例外;Microsoft.CSharp.RuntimeBinder.RuntimeBinderException';发生

C# 类型为'的首次机会例外;Microsoft.CSharp.RuntimeBinder.RuntimeBinderException';发生,c#,exception,dynamic,C#,Exception,Dynamic,在Newtonsoft作业对象上使用dynamic时,我在调试输出中获得了大量Microsoft.CSharp.RuntimeBinder.RuntimeBinderException。尽管这些异常一定是被困在Microsoft.CSharp.dll中的某个地方,但它们的出现让我有点不舒服。我能做些什么来阻止他们(除了完全放弃动态) 下面是一个简短的测试程序,它输出以下异常之一: using System; using Newtonsoft.Json.Linq; nam

在Newtonsoft作业对象上使用dynamic时,我在调试输出中获得了大量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的创建者自己解决了这个问题

确保它是次要的,例外是经过设计的。有关RuntimeBinderException的更多信息,请参见

顺便说一下,如果你想禁用这些警告,只是因为它们让你不舒服


在Visual Studio中,单击工具->选项,然后选择调试,并选中显示仅启用我的代码的框

谢谢,我不再担心它了。我很惊讶StackOverflow没有把之前对我问题的回答列入可能的答案列表中。当我给出异常的全名时,也许我太具体了。