Тип или имя пространства имен 'Linq' не существует в пространстве имен 'System.Data' - PullRequest
8 голосов
/ 20 августа 2009

Мы получаем ошибку при развертывании проекта на одном из серверов нашего клиента. Система отлично работает в наших локальных средах разработки и организации. Ошибка:

Тип или имя пространства имен 'Linq' не существует в пространстве имен 'System.Data'

Мы сделали очевидные проверки: - У нас есть ссылки в web.config для System.Data.Linq, System.Core, System.Linq и т. Д. - Целью нашего проекта является 3,5 - Мы подтвердили, что версия ASP.NET в IIS на сервере клиента - 2.0.50727. - Мы подтвердили, что на сервере установлена ​​платформа 3.5 и содержит DLL-файл System.Data.Linq в папке Windows / сборки.

Есть еще идеи?

Ответы [ 5 ]

16 голосов
/ 02 декабря 2010

У меня была та же ошибка компиляции при сборке проекта из сценариев, в то время как Visual Studio 2010 прекрасно строил тот же проект. Когда я попытался добавить ссылку System.Core из VS2010, он вернулся с ошибкой о том, что ссылка установлена ​​неявно, и не будет добавлять ссылку.

Решением для меня было добавить следующую ссылку вручную в файл csproj. Обратите внимание, что целевая структура ссылки явно установлена ​​на 3,5 (это поверх целевой структуры проекта, устанавливаемой на 3,5):

<Reference Include="System.Core">
  <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
2 голосов
/ 21 ноября 2012

У меня была похожая проблема при разработке веб-сайта в Visual Web Developer 2010 с .NET 4.0.

VWD может найти пространство имен "System.Linq" для файлов в App_Code , но не для файлов в других каталогах . Странно, но это правда.

«Проект» был открыт с помощью «Открыть веб-сайт», поэтому файла .csproj не было.

Копирование:

C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ .NETFramework \ v4.0 \ System.Core.dll

на веб-сайт bin вызвал поиск пространства имен VWD для файлов в других каталогах.

Надеюсь, это кому-нибудь поможет.

2 голосов
/ 23 сентября 2009

С здесь : «Вы получите эту ошибку, если у вас нет ссылки на« System.Core.dll »(сборка, которая содержит основные API LINQ). Тем не менее, все шаблоны по умолчанию должны включать эту ссылку, когда вы ориентируетесь на .NET3.5. '

0 голосов
/ 27 декабря 2013

У меня была та же проблема, но другая причина.

Я изменил объявление пространства имен в файле designer.cs dbml. Всякий раз, когда я добавляю новый объект через конструктор, Visual Studio отменяет объявление пространства имен, и сборка завершается неудачей.

Простое изменение пространства имен обратно на то, что предполагается исправить проблему.

0 голосов
/ 16 апреля 2013

Я знаю, что на вопрос уже дан ответ, но просто чтобы прояснить, почему в Visual Studio мы получаем Build Succeeded и сталкиваемся с проблемами при попытке встроить SVN или какой-либо другой репозиторий?

Причина: на нее ссылается IDE, когда она вызывает систему сборки, но не сама MSBuild.

Но после добавления Reference как Ashby , указанного выше, оно, безусловно, будет работать нормально. Эта проблема все еще возникает даже во время Visual Studio 2012, и, как я уже знал об этом, сделал это, и все стало работать нормально.

С уважением,

Варун Шрингарпур

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