导入命名空间System.Query

时间:2020-03-05 18:39:08  来源:igfitidea点击:

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

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

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

The type or namespace name 'Query' does not exist in the namespace 'System'

我也尝试过没有运气:

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

我相信.Net 3.5可以正常工作,因为`var hello =" Hello World"似乎可以正常工作。

有人可以帮忙吗?

PS:我只是想澄清一下,我不使用Visual Studio,我只是拥有一个文本编辑器,并将代码直接写入.aspx文件中。

解决方案

回答

var hello东西是编译器不可思议的东西,可以在不使用Linq的情况下使用。

尝试添加对" System.Core"的引用

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

页面上的"导入"基本上只是使用语句,使我们可以跳过页面上的名称空间。

回答

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

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

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

回答

I have version 2 selected in IIS and I

好吧,那肯定是你的问题吗?选择3.5.

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

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

回答

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>

回答

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

@将要,

谢谢你的帮助。我已经接受了答案之一:)

回答

csproj文件可能缺少System.Core参考。
在csproj文件中查找这样的一行:

<Reference Include="System" />

并在其下方添加一行,如下所示:

<Reference Include="System.Core" />