2008-08-12 148 views
3

我试图通过添加以下到我的.aspx页面加载的LINQ我的.Net 3.5启用Web服务器上:导入命名空间System.Query

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

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

类型或命名空间名称 '查询' 不存在命名空间 '系统'

我也都试过,没有运气存在:

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

我相信.net 3.5正在工作,因为var hello = "Hello World"似乎工作。

任何人都可以帮忙吗?

PS:我只是想澄清,我不使用Visual Studio,我只是有一个Text Editor并直接写入我的代码到.aspx文件。

回答

0

var hello东西是编译器的魔力,并将在没有Linq的情况下工作。

尝试添加引用System.Core


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

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

+0

基思嗨,加入:<%@导入命名空间= “System.Core程序” %>失败,并显示相同的错误信息:(任何其他的想法? – GateKiller 2008-08-12 10:46:20

+0

Keith在谈论添加一个DLL引用,而不是另一个导入。老实说,我建议你从Visual Studio开始(一个免费版本),因为它会为你提供这种东西,直到你对.NET开发更加快速。 – 2008-08-12 11:02:24

1

确保您的项目设置为目标3.5,而不是2.0。如其他人所说,你的'var'测试是C#3(即VS2008)的测试,而不是3.5的框架。

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

2

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

下面是全新的ASP.NET 3的外观。5项目与Visual Studio 2008年提出:

<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

我找到了答案:)我需要添加以下到我的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,

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

0

csproj文件可能缺少System.Core引用。 查找这样的文件的csproj一行:

<Reference Include="System" /> 

而且它下面添加一行:

<Reference Include="System.Core" />