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

导入命名空间系统.Query

  •  3
  • GateKiller  · 技术社区  · 16 年前

    我正在尝试通过将以下内容添加到我的.aspx页面,将Linq加载到启用.Net 3.5的web服务器上:

    <%@ Import Namespace="System.Query" %>
    

    但是,这失败了,并告诉我它找不到名称空间。

    命名空间“System”中不存在类型或命名空间名称“Query”

    • System.Data.Linq
    • System.Linq
    • System.Xml.Linq

    我相信.NET3.5之所以能够工作,是因为 var hello = "Hello World" 似乎有效。

    有人能帮忙吗?

    Text Editor 并将代码直接写入.aspx文件。

    6 回复  |  直到 12 年前
        1
  •  5
  •   Will Dean    16 年前

    我在IIS和I中选择了版本2

    那当然是你的问题了?选择3.5。

    http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx

        2
  •  2
  •   Lasse V. Karlsen    16 年前

    web.config文件的这部分看起来像什么?

    <assemblies>
      <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.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    </assemblies>
    
        3
  •  2
  •   GateKiller    16 年前

    我找到了答案:)我需要将以下内容添加到我的web.config中:

    <assemblies>  
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
        <add assembly="System.Xml.Linq, 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"/>
    </assemblies>
    

    然后我可以将以下内容添加到我的代码中:

    <%@ Import Namespace="System.Linq" %>
    

    谢谢你的帮助。我接受了你的一个答案:)

        4
  •  1
  •   Will Dean    16 年前

    确保您的项目设置为目标3.5,而不是2.0。

    正如其他人所说,您的“var”测试是对C#3(即VS2008)的测试,而不是对3.5框架的测试。

        5
  •  0
  •   Keith    16 年前

    这个 var hello 这些东西是编译器的魔法,没有Linq也能工作。

    System.Core


    对不起,我不清楚。我是说加上 指向web项目的引用,而不是页面。

    Import 页面上的名称空间基本上只是使用语句,允许您跳过页面上的名称空间。

        6
  •  0
  •   aboy021    14 年前

    在csproj文件中查找以下行:

    <Reference Include="System" />
    

    然后在下面添加一行,如下所示:

    <Reference Include="System.Core" />