无法找到类型或名称空间名称“dynamic”

Microsoft Visual Studio 2010 Ultimate(版本10.0.40219.1 SP1Rel)。

Microsoft .NET Framework版本4.5.50709 SP1Rel

我正在编译为.net framework 4.0。

每当我尝试使用动态数据类型或var数据类型时,都会在主题行中看到错误:

无法找到类型或名称空间名称“dynamic”。

无法找到类型或名称空间名称“var”。

我正尝试使用JsonFX解析从另一个Web服务接收的数据。 有时候数据会代表一条“消息”,有时它会代表一条“轨道”。 根据这个JsonFx文档,我应该能够遵循这样的例子:“动态类型的序列化(默认为.NET 4.0):”

我在我的网站上添加了一个名为test的页面。 下面的代码块来自Test.aspx.cs我试图使用的代码是这样的:

using System;
using System.Text;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using JsonFx;
using JsonFx.Json;
using Microsoft.CSharp;

public partial class Test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string Data = "";
        Data = @"[{""meta"":{""account"":""orbitinte"",""event"":""track""},""payload"":{""id"":410827200397312213,""id_str"":""410827200397312213"",""asset"":""359551031717134"",""recorded_at"":""2013-02-07T15:59:04Z"",""received_at"":""2013-02-07T16:00:37Z"",""fields"":{}}},{""meta"":{""account"":""orbitinte"",""event"":""track""},""payload"":{""id"":410827200409895125,""id_str"":""410827200409895125"",""asset"":""359551031717134"",""recorded_at"":""2013-02-07T16:00:04Z"",""received_at"":""2013-02-07T16:00:37Z"",""fields"":{}}}]";
        Data = @"[{""meta"":{""account"":""orbitinte"",""event"":""message""},""payload"":{""id"":410865901198377173,""thread_id"":null,""parent_id"":410865891354345685,""id_str"":""410865901198377173"",""thread_id_str"":"""",""parent_id_str"":""410865891354345685"",""type"":""message"",""channel"":""com.mdi.services.adminProtocol"",""sender"":""359551031717134"",""recipient"":""@@server@@"",""asset"":""359551031717134"",""b64_payload"":""eyJlcnJvciI6ImNhbm5vdCBwYXJzZSBjb21tYW5kIn0="",""recorded_at"":""2013-02-07T18:34:25Z"",""received_at"":""2013-02-07T18:34:24Z""}}]";


        JsonReader Reader = new JsonReader();
        dynamic Output = Reader.Read(Data);

        Notifications oNotifications = new Notifications();
        oNotifications.ProcessNotifications(Data);
    }
}

在web.config文件中:

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v4.0"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
  </system.codedom>

我对C#和asp.net相当陌生。 但是我现在一直在寻找解决这个问题的方法。 我看到的所有内容都提到了编译器版本和.net框架版本。 我想我已经提供了所有的相关细节,但是如果还有其他问题我应该补充到这个问题上,请让我知道。


您的IIS网站配置为使用.NET 2.0吗? 这就是我听起来的感觉。 先检查配置..你的测试在本地工作吗?

你的编译器应该看起来像这样:

<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

您的设置为Version = 2.0.0.0


确保您的项目中有对Microsoft.CSharp的引用。

关于这个DLL的更多信息可以在这里找到。

链接地址: http://www.djcxy.com/p/64321.html

上一篇: The type or namespace name 'dynamic' could not be found

下一篇: Type or namespace name does not exist