Тип или имя пространства имен 'Linq' не существует в пространстве имен 'System.Data' и т. Д. - PullRequest
12 голосов
/ 26 октября 2010

Я только что сделал .dbml файл Linq-to-SQL в Visual Studio 2010.

Я получаю следующие 2 ошибки, всего 60 раз, в основном, первую.

  1. Имя типа или пространства имен 'Linq' не существует в пространстве имен 'System.Data'
  2. Не удалось найти имя типа или пространства имен 'EntitySet'

Я нашел различные подобные вопросы здесь и на других сайтах, все из которых, кажется, говорят, что необходимо добавить какую-то дополнительную сборку.

Я добавил все предложенные, проблема сохраняется.Еще одна странность состоит в том, что VS2010 не подчеркивает ошибки на экране редактора, но показывает их в журнале ошибок.

В любом случае, я просмотрел все существующие темы и применил их решения,проблема сохраняется.

Некоторые технические подробности:

  • Я использую 32-разрядную версию Windows 7.
  • У меня все еще установлена ​​Visual Studio 2008 SP1.Я только что установил VS2010, когда он вышел, и не удалил старую.
  • Я использую MSSQL server 2008 R2.

И вот сборки, перечисленные в моей сети.файл конфигурации:

<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.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Ответы [ 4 ]

15 голосов
/ 05 апреля 2014

Я нашел эту ссылку , которая решила ее для меня. Суть в том, что в web.config необходимо добавить следующее:

<configuration>
  <system.web>
     <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      </assemblies>
    </compilation>
   </system.web>
</configuration>

Обратите внимание, что теги configuration / system.web / compilation уже есть, и необходимо добавить теги сборок / добавления сборок. Это даже при том, что System.Data.Linq легко обнаруживается VS при сборке.

Ошибка произошла в App_Code.LinqToObservations.designer.cs, код, сгенерированный Linq из моего файла LinqToObservations.dbml.

(Дополнительная предыстория: я, вероятно, попал в эту ситуацию, потому что я включил Linq после того, как факт, используя найденную процедуру здесь .)

7 голосов
/ 20 марта 2013

Важно, вы должны установить в webconfig

    <system.web>
    <compilation debug="true" targetFramework="4.0"/>
</system.web>
7 голосов
/ 14 июня 2011

У меня была та же проблема с точно такой же конфигурацией, за исключением того, что моя Windows 7 является 64-битной. Получил это, выполнив [project name] -> References -> Add reference -> System.Data.Linq Почему вы добавляете ссылки вручную?

3 голосов
/ 05 октября 2012

Вы можете попробовать следующее:

Добавить ссылку на System.Data.Linq (Щелкните правой кнопкой мыши папку «Ссылки» | Выберите «Добавить ссылку» | Выберите вкладку .Net (выбрано по умолчанию) | выберите System.Data.Linq reference | click OK.

Надеюсь, это поможет вам или кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...