Импортируйте систему пространств имен.Запрос
Вопрос
Я пытаюсь загрузить 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.
Решение
У меня выбрана версия 2 в IIS, и я
Ну, конечно, это твоя проблема?Выберите пункт 3.5.
На самом деле, вот реальная информация:
http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx
Другие советы
Как выглядит часть вашего файла 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>
Я нашел ответ :) Мне нужно было добавить следующее в мой 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.
Если вы правильно настроили целевые параметры project framework, вам не следует ожидать необходимости вручную добавлять ссылки на dll на этом этапе.
Тот Самый var hello
это магия компилятора, и она будет работать без Linq.
Попробуйте добавить ссылку на System.Core
Извините, я не совсем ясно выразился.Я имел в виду добавить System.Core
к ссылкам на веб-проект, а не на страницу.
Тот Самый Import
на странице в основном просто используются инструкции, позволяющие пропустить пространство имен на странице.
В файле csproj может отсутствовать System.Ссылка на ядро.Найдите строку в файле csproj, подобную этой:
<Reference Include="System" />
И добавьте под ним строку вот так:
<Reference Include="System.Core" />