Пространство имен System.Linq отсутствует даже со ссылкой на System.Core.Dll

Когда я открываю свой веб-сайт Asp Net в Visual Studio 2010, свойства говорят "Target Framework 3.5", однако, когда я пытаюсь использовать пространство имен Linq, компилятор жалуется на это.

"Не удалось найти имя типа или пространства имен 'var' (отсутствует директива using или ссылка на сборку?)"

"Тип или имя пространства имен" Linq "не существует в пространстве имен" Система "(отсутствует ссылка на сборку?)"

Я вручную ссылался на некоторые библиотеки DLL, чтобы исправить мою проблему, но все равно безуспешно.

<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.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Помогите?:-)

2 ответа

Решение

Если вы не можете даже использовать var, это говорит о том, что он даже не использует правильную версию компилятора C#. (Вы должны быть в состоянии использовать var даже при нацеливании на.NET 2.0, если вы используете компилятор C# 3 или C# 4.) Я бы сконцентрировался на том, чтобы это работало в первую очередь, прежде всего.

Возможно ли, что вы работаете в IIS, но не настроили это должным образом? Возможно, стоит взглянуть на конфигурацию вашего сайта с этой стороны и, возможно, перезапустить aspnet_regiis.

Я только что исправил похожую проблему, добавив targetFramework="4.0" приписать compilation элемент в web.config

Модифицированный соответствующий фрагмент:

<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  </assemblies>
</compilation>
Другие вопросы по тегам