我正在尝试通过将以下内容添加到我的 .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" 似乎有效。

有人可以帮忙吗?

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

有帮助吗?

解决方案

我在 IIS 中选择了版本 2,并且我

嗯,这肯定是你的问题吧?选择 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" %>

@将要,

感谢您的帮助。我已接受您的答案之一:)

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

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

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

var hello 东西是编译器的魔法,无需 Linq 也能工作。

尝试添加对的引用 System.Core


抱歉,我没说清楚。我的意思是添加 System.Core 到网络项目的引用,而不是页面。

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

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

<Reference Include="System" />

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

<Reference Include="System.Core" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top