Я пытаюсь загрузить Linq на моем веб-сервере с поддержкой .Net 3.5, добавив следующее в страницу .aspx:
<%@ Import Namespace="System.Query" %>
Однако это не удается и сообщает, что не может найти пространство имен.
Имя типа или пространства имен 'Query' не существует в пространстве имен 'System'
Я также пробовал, но безуспешно:
System.Data.Linq
System.Linq
System.Xml.Linq
Я считаю, что .Net 3.5 работает, потому что var hello = "Hello World"
вроде бы работает.
Кто-нибудь может помочь, пожалуйста?
PS: Хочу уточнить, что я не использую Visual Studio, у меня просто есть Text Editor и я пишу свой код прямо в .aspx файлы.
У меня выбрана версия 2 в IIS и я
Ну, конечно же, это ваша проблема? Выберите 3.5.
На самом деле, вот настоящая информация:
http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx
Что делает < assemblies> часть Вашего web.config файла похожа?
Here' s, что это похоже для совершенно нового проекта ASP.NET 3.5, сделанного с Визуальной Студией на 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>
Я нашел ответ:) Я должен был добавить следующее к своему 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.5, а не 2.0.
Как уже говорили другие, ваш тест 'var' является тестом C#3 (т.е. VS2008), а не фреймворка 3.5.
Если вы правильно установили целевые параметры фреймворка проекта, то вам не следует ожидать, что на данном этапе вам придется вручную добавлять ссылки на dll.
Материал var hello
является магией компилятора и будет работать без Linq.
Попробуйте добавить ссылку на System.Core
Извините, я не совсем ясно выразился. Я имел в виду добавить System.Core
в ссылки веб-проекта, а не на страницу.
Import
на странице - это, по сути, просто операторы использования, позволяющие вам пропустить пространство имен на странице.