找不到编译动态表达式所需的一种或多种类型。您是否缺少对Microsoft.CSharp.dll

我正在尝试在Microsoft Visual C#2010中编译此代码


using System;

using System.Globalization;



class main

{

    static void Main()

    {


        dynamic d;

        d = "dyna";

        Console.WriteLine(d);    

    }

}

但是我遇到了这两个错误


错误1未定义或导入预定义的类型'Microsoft.CSharp.RuntimeBinder.Binder'


错误2找不到编译动态表达式所需的一种或多种类型。您是否缺少对Microsoft.CSharp.dll和System.Core.dll的引用?


我读了另一篇文章,但是我是C#的新手,我不明白真正的问题是什么。特别是这些所谓的.config文件在什么地方。


一只甜甜圈
浏览 918回答 3
3回答

婷婷同学_

在您的解决方案资源管理器窗口中,右键单击“引用”,选择“添加引用”,转到“ .NET”选项卡,找到并添加Microsoft.CSharp。

holdtom

除了删除和添加回引用不能解决该错误外,我遇到了同样的问题,因此我将.Net版本从更改4.5为4.5.1。为此,请转到您的web.config文件并更改以下几行<compilation debug="true" targetFramework="4.5" /><httpRuntime targetFramework="4.5" />对此<compilation debug="true" targetFramework="4.5.1" /><httpRuntime targetFramework="4.5.1" />并重建。
打开App,查看更多内容
随时随地看视频慕课网APP