代码之家  ›  专栏  ›  技术社区  ›  joeriks

即使引用了System.Core.dll,也缺少System.Linq命名空间

  •  6
  • joeriks  · 技术社区  · 14 年前

    当我在Visual Studio 2010中打开自己的ASP NET网站时,这些属性称为“Target Framework 3.5”,但是当我尝试使用Linq命名空间时,编译器会对此抱怨。

    “找不到类型或命名空间名称”“var”“(是否缺少using指令或程序集引用?)

    “命名空间”System“中不存在类型或命名空间名称”Linq“(是否缺少程序集引用?)”

    我手动引用了一些DLL来解决我的问题,但仍然没有成功。

    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    

    帮助?-)

    2 回复  |  直到 10 年前
        1
  •  5
  •   Jon Skeet    14 年前

    如果你甚至不能使用 var 这表明它甚至没有使用正确版本的C编译器。(你应该能够使用 var 即使是针对.NET 2.0,只要你使用的是C 3或C 4编译器,我也会把精力放在让它比其他任何东西都先工作上。

    您是否有可能在IIS上运行,但没有正确配置?这可能是值得看的,你的网站配置在这方面的事情,并可能重新运行aspnet_regais。

        2
  •  2
  •   amrtn    10 年前

    我刚解决了一个类似的问题,添加了 targetFramework="4.0" 属性 compilation 元素在 web.config

    修改后的相关片段为:

    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>