Импортируйте систему пространств имен.Запрос

StackOverflow https://stackoverflow.com/questions/8651

  •  08-06-2019
  •  | 
  •  

Вопрос

Я пытаюсь загрузить 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" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top