Обновление до 4.0: имя типа или пространства имен 'Linq' не существует в пространстве имен 'Система' (отсутствует ссылка на сборку?) - PullRequest
3 голосов
/ 26 октября 2011

Я недавно обновил свое решение с .net Framework 3.5 до 4.0.Все хорошо, кроме того, что это дает мне некоторые ошибки в моем проекте веб-сайта.

The type or namespace name 'Linq' does not exist in the namespace 'System' 
(are you missing an assembly reference?)

The type or namespace name 'Linq' does not exist in the namespace 'System.Xml'
(are you missing an assembly reference?)

The type or namespace name 'Script' does not exist in the namespace 'System.Web' 
(are you missing an assembly reference?)

Вот как выглядит мой web.config:

<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<!--vjslib is needed for Google Transit-related code-->
<add assembly="vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Infragistics35.WebUI.Shared.v10.2, Version=10.2.20102.1011, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<add assembly="Infragistics35.WebUI.UltraWebGrid.v10.2, Version=10.2.20102.1011, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<add assembly="Infragistics35.WebUI.UltraWebTab.v10.2, Version=10.2.20102.1011, Culture=neutral, PublicKeyToken=7DD5C3163F2CD0CB"/>
<add assembly="Infragistics35.Web.v10.2, Version=10.2.20102.1011, Culture=neutral, PublicKeyToken=7DD5C3163F2CD0CB"/>
<add assembly="System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Почему он не может найти ссылку LINQкогда я говорю using System.Linq или System.Xml.Linq?Что мне здесь не хватает?

- Правка -

Это происходит только в проекте веб-сайта.Другие библиотеки классов работают нормально.

Ответы [ 2 ]

7 голосов
/ 05 января 2012

У меня есть проект ASP.NET 3.5 WebSite, который я пытался обновить до .NET v4. Получил ошибку. Мое решение:

  1. Перейдите на страницы свойств проекта WebSite и установите его обратно. NET v3.5
  2. Скомпилируйте и убедитесь, что все в порядке
  3. Переключите его обратно на .NET v4
  4. Скомпилируйте и посмотрите все в порядке
2 голосов
/ 26 октября 2011

Вы выбрали правильные рамки. Я думаю, что в вашем проекте файл на первой вкладке ".NET Framework 4 Client Profile" выбран. Возьми ".NET Framework 4"

...