Импортировать пространство имен System.Query

Я пытаюсь загрузить Linq на свой веб-сервер с поддержкой .Net 3.5, добавив на мою страницу .aspx следующее:

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

Однако это не удается и говорит мне, что не может найти пространство имен.

Тип или имя пространства имен "Запрос" не существует в пространстве имен "Система".

Я тоже безуспешно пробовал:

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

Я считаю, что .Net 3.5 работает, потому что, var hello = "Hello World" похоже, работает.

Кто-нибудь может помочь?

PS: Я просто хочу уточнить, что я не использую Visual Studio, у меня просто есть текстовый редактор, и я пишу свой код прямо в файлы .aspx.

Ответов (6)

Решение

У меня в IIS выбрана версия 2, и я

Ну неужто в этом твоя проблема? Выберите 3.5.

Собственно, вот настоящая информация:

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

Это var hello волшебство компилятора, и оно будет работать без Linq.

Попробуйте добавить ссылку на System.Core


Извините, я не понял. Я имел в виду добавлять System.Core ссылки на веб-проект, а не на страницу.

На Import странице в основном просто используются операторы, позволяющие пропустить пространство имен на странице.

Убедитесь, что для вашего проекта установлено значение 3.5, а не 2.0.

Как уже говорили другие, ваш тест 'var' - это тест C# 3 (т.е. VS2008), а не фреймворка 3.5.

Если вы правильно настроили целевые параметры структуры проекта, вам не следует ожидать, что вам придется вручную добавлять ссылки на DLL на этом этапе.

Я нашел ответ :) Мне нужно было добавить в свой 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" %>

@Воля,

Спасибо за вашу помощь. Я принял один из ваших ответов :)

Как выглядит часть вашего файла 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>

В файле csproj может отсутствовать ссылка на System.Core. Найдите в файле csproj такую ​​строку:

<Reference Include="System" />

И добавьте строку под ним вот так:

<Reference Include="System.Core" />