68

If I use dynamic in the immediate window of Visual Studio I get an error

Predefined type 'Microsoft.CSharp.RuntimeBinder.Binder' is not defined or imported

How can I fix that?

4

4 回答 4

120

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

MSDN 关于即时窗口上下文:

在为设计时表达式评估建立上下文时,Visual Studio 会引用解决方案资源管理器中当前选定的项目。如果在解决方案资源管理器中未选择任何项目,Visual Studio 会尝试根据启动项目评估该函数。如果无法在当前上下文中评估该函数,您将收到一条错误消息。

于 2012-11-26T15:46:48.727 回答
21

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

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

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


注意: 在这里,我找到了一篇关于C# 中的动力学、它如何工作以及你可以用它做什么的好文章。

于 2014-02-11T16:29:46.520 回答
8
  1. 转到项目->添加参考。
  2. 从侧边栏和框架中选择程序集
  3. 检查 Microsoft.CSharp

快乐编码!

于 2015-04-10T06:13:36.180 回答