Тип или имя пространства имен не существует

У меня есть проект службы данных WCF, созданный с помощью Visual Studio 2010, который отлично работает. Внезапно он больше не компилировался. Это давало мне такие сообщения, как:

Ошибка 7 Тип или имя пространства имен «Службы» не существует в пространстве имен «System.Data» (вам не хватает ссылки на сборку?) C: \ U … s \ Visual Studio 2010 \ Projects … \ DataService. cs …

Ошибка 8 Тип или имя пространства имен Linq не существует в пространстве имен «System» (вам не хватает ссылки на сборку?) DependencyResolver.cs 3 14

Ошибка 10 Тип или имя пространства имен «Веб» не существует в пространстве имен «System.ServiceModel» (вам не хватает ссылки на сборку?)

Ошибка 12 Тип или имя пространства имен DataService не удалось найти (вы не указали директиву использования или ссылку на сборку?)

Как я могу это исправить?

У меня была та же проблема, и мне пришлось установить «Целевую структуру» всех проектов одинаковыми. Тогда он построил отлично. В меню «Проект» выберите «Свойства проекта». Перейдите на вкладку компиляции. Нажмите «Дополнительные параметры компиляции». В целевой структуре выберите желаемую структуру.

У меня возникла проблема с тем, что System.Linq не распознается. Оператор using имел красную squiggly и т. Д. То, как я решил, это изменить мой сайт на целевой dotnet 3.5, а затем вернуться к исходной целевой структуре (в моем случае 4.0).

Я столкнулся с той же проблемой с ASP.NET MVC- сайтом, когда пытался использовать LINQ to SQL . Я исправил проблему:

Обозреватель решений -> Ссылки -> Щелкните правой кнопкой мыши на System.Data.Linq -> Скопировать локальный (True)

Убедитесь, что ваша целевая структура имеет те же версии .NET. У меня была та же проблема, и мой class .NET составлял 3.5, а веб-решение – 4.5. Я синхронизировал их, а потом это сработало 🙂

Я обнаружил, что это вызвано тем, что у меня такое же имя пространства имен, как и имя classа ( MyWorld.MyWorld = Namespace.ClassName ).

Измените пространство имен на имя, которое не совпадает с именем вашего classа, и оно будет скомпилировано.

Источник

У меня была такая же проблема, и я без всякого успеха пробовал все вышеперечисленное, потом выяснил, что это было:

Я создал папку под названием «Система» в одном из моих проектов, а затем создал в ней class. Кажется, что проблема связана с наличием пространства имен под названием «Система», когда файл .cs создается, даже если он находится в пространстве имен «MyProject.System».

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

У меня возникла такая же проблема с System.Data.SQLite. Источником проблемы является то, что dll, которую вы использовали, должна иметь такую ​​же версию .NET с вашим проектом.

Например, если вы использовали (в моем случае) SQLite для .NET 4.5, ваша целевая платформа также должна быть .NET 4.5.

Вы можете найти цель платформы: Project> (название проекта) Properties> Build.

В моем случае проблема шла, потому что class, который я создал, имел пространство имен, которое мешало существующим classам. Новый class A имел пространство имен zz.yy.xx (по ошибке). Ссылки на объекты в другом пространстве имен yy.xx не компилировались в classе A или других classах, пространство имен которых было zz.

Я изменил пространство имен classа A на yy.xx, которое должно было быть, и оно начало работать.

ДЛЯ ЛЮБОГО С СВЯЗАННЫМИ ФАЙЛАМИ: У меня была эта проблема, и я использовал silverlight, а файл-нарушитель, который выбрасывал эту ошибку, был связанным файлом.

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

В моем случае не было изменений в проектах, оно просто прекратилось для компиляции и с «типом или именем пространства имен XXX не существует», а в самом жалобном classе intellisense для этого пространства имен / classа XXX отлично работает. Проблема действительно была в ссылках!

Действия по воспроизведению:

  1. Решение имеет ProjectA, ProjectB. ProjectA ссылается на сторонний log4net и помечен Copy local: true . ProjectB ссылается на ProjectA и не имеет ссылки на log4net. Решение компилируется отлично.

  2. Изменение в ProjectA: ссылочное свойство для log4net для Copy local: false .

  3. Очистите папки bin и obj.
  4. Когда вы компилируете, ProjectA компилируется, но ProjectB жалуется, что не находит пространство имен ProjectA.

This is because ProjectB папке bin This is because ProjectB отсутствует сторонняя библиотека (log4net in my case)!

В этом случае решение будет –

  1. убедитесь, что ссылки сторонних библиотек установлены на Copy local: true или
  2. добавьте путь к таким библиотекам в свойствах проекта по эталонному пути.

Я ссылаюсь на Microsoft.CommerceServer.Runtime.Orders и испытал эту ошибку. Этот проект старый и имеет целевую структуру .NET 2.0. На выходе у меня была эта ошибка:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "Microsoft.CommerceServer.Runtime" could not be resolved because it has an indirect dependency on the framework assembly "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v2.0". To resolve this problem, either remove the reference "Microsoft.CommerceServer.Runtime" or retarget your application to a framework version which contains "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 

Я просто изменил целевую структуру на .NET 4, и теперь она строит.

И если все остальное не удается, например, чтобы целевые структуры были одинаковыми, и вы имеете дело с библиотекой classов WPF в VS2010, просто перезапустите Visual Studio. Это сделало это для меня.

Я столкнулся с этой проблемой при использовании интеграции Git в Visual Studio для управления проектом. По какой-то причине проект Windows Phone 8 скомпилировался бы очень хорошо при таргетинге на x86, но когда я установил его для целевого ARM, он не смог бы скомпилировать с ошибкой, указывающей, что «Реклама» не существует в пространстве имен Microsoft.

Я решил решить эту проблему, удалив ссылку Microsoft.Advertising. * .Ll и добавив ее снова.

У меня были те же ошибки. После того, как я обнаружил, что у моего проекта было неправильное имя Ассамблеи (я скопировал файлы из другого проекта, а пространства имен немного запутались), и изменил его, проект скомпилирован.

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

Мне недавно нужно было выполнить восстановление системы, и это привело к тому, что некоторые из моих файлов изменились / исчезли, что я работал с момента восстановления. Некоторые из них были DLL-файлами. Я использовал Source Control для извлечения всего проекта, но у меня все еще была аналогичная проблема, как указано выше. Я нашел этот ответ, который описал, что вам может потребоваться удалить DLL и прочитать его, чтобы устранить ваши ошибки. Так было в моем сценарии.

Удаление WebMatrix.WebData и чтение его, а также добавление в WebMatrix.Data исправлено моя ошибка The type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...

Удалите файл .refresh.dll, если вы находитесь под контролем источника. Затем перестройте. Он должен работать. Это сработало для меня

  • Можете ли вы использовать дополнительные параметры в кодовом таргетинге .NET 3.5?
  • Обновление пользовательского интерфейса в C # с использованием таймера
  • Повреждение кучи при использовании CreateWindowExW
  • Visual Studio 2010 всегда думает, что проект устарел, но ничего не изменилось
  • Фильтрация DataGridView без изменения источника данных
  • Почему Visual Studio не может найти мою DLL?
  • неразрешенная ошибка внешнего символа при импорте библиотек для OpenCV2.3 в Visual Studios 2010 Express C ++
  • pinvokestackimbalance - как я могу это исправить или отключить?
  • Ошибка ссылки на службу: не удалось сгенерировать код для ссылки на службу
  • Почему вывод аргумента шаблона отключен с помощью std :: forward?
  • Настройка IIS Express для внешнего доступа к проекту VS2010
  • Давайте будем гением компьютера.