导入命名空间System.Query

时间:2008-08-12 10:37:50

标签: asp.net linq

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

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

然而,这失败并告诉我它找不到命名空间。

  

名称空间'System'

中不存在类型或命名空间名称'Query'

我也试过没有运气:

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

我相信.Net 3.5正在运行,因为var hello = "Hello World"似乎有效。

有人可以帮忙吗?

PS:我只想说明我不使用Visual Studio,只需要Text Editor并将我的代码直接写入.aspx文件。

6 个答案:

答案 0 :(得分:4)

  

我在IIS和I

中选择了版本2

嗯,当然这是你的问题?选择3.5。

实际上,这是真实的信息:

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

答案 1 :(得分:2)

web.config文件的部分是什么样的?

以下是使用Visual Studio 2008制作的全新ASP.NET 3.5项目的样子:

<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>

答案 2 :(得分:2)

我找到了答案:)我需要将以下内容添加到我的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" %>

@Will,

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

答案 3 :(得分:1)

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

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

如果正确设置项目框架目标设置,则不应期望此时需要手动添加dll引用。

答案 4 :(得分:0)

var hello的东西是编译魔术,没有Linq就可以使用。

尝试添加对System.Core

的引用

抱歉,我不清楚。我的意思是将System.Core添加到Web项目的引用中,而不是添加到页面中。

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

答案 5 :(得分:0)

csproj文件可能缺少System.Core引用。 在csproj文件中查找一行,如下所示:

<Reference Include="System" />

在它下方添加一行:

<Reference Include="System.Core" />