在即时窗口中dynamic导致“Microsoft.CSharp.RuntimeBinder.Binder”未定义或导入错误

如果我在Visual Studio的即时窗口中使用dynamic ,则会出现错误

预定义types“Microsoft.CSharp.RuntimeBinder.Binder”未定义或导入

我该如何解决这个问题?

您应该在所选项目或启动项目中添加对Microsoft.CSharp库的引用。 而且您的项目应该引用.NET Framework 4或更高版本。

有关即时窗口上下文的MSDN:

为build立devise时expression式评估的上下文时,Visual Studio将在解决scheme资源pipe理器中引用当前选定的项目。 如果在解决scheme资源pipe理器中未select项目,则Visual Studio会尝试针对启动项目评估该function。 如果在当前上下文中无法评估函数,则会收到错误消息。

有两件事很重要。 检查以下内容:

  1. 您的项目属性引用了.NET Framework 4或更高版本 (如果不是这样,请更改它:右键单击项目,select“属性…”菜单项,然后select目标框架“.NET Framework 4 “ (或更高))
  2. 您已经添加了“Microsoft.CSharp”程序集作为参考(注意步骤1,需要重新加载项目,必须先完成)

之后,您可以使用dynamictypes。 需要在所选项目或启动项目中添加引用,以便在即时窗口的范围内可用。

  1. 转到项目 – >添加参考。
  2. 从侧栏和框架中select程序集
  3. 检查Microsoft.CSharp

快乐的编码!