Почему я не могу ссылаться на System.ComponentModel.DataAnnotations?

Я пытаюсь использовать DataAnnotations в моем проекте WPF для указания максимальной длины строк со следующим:

using System.ComponentModel.DataAnnotations; 

Однако я получаю ошибку

Тип или имя пространства имен «DataAnnotations» не существует в пространстве имен «System.ComponentModel» (вам не хватает ссылки на сборку?)

Я видел другие примеры, в которых DataAnnotations существует в этом пространстве имен. Я использую C # 4. Есть ли причина, по которой я не могу это использовать? Что я могу сделать, чтобы исправить это?

Вы должны ссылаться на сборку, в которой определено это пространство имен (по умолчанию в шаблонах визуальной студии не ссылаются). Откройте диспетчер ссылок и добавьте ссылку на сборку System.ComponentModel.DataAnnotations (Solution explorer -> Добавить ссылку -> Выберите вкладку .Net -> выберите System.ComponentModel.DataAnnotations из списка)

К справочной системе.ComponentModel.DataAnnotations

В файле кода, использующем System.ComponentModel.DataAnnotations; в верхней части файла, например:

 using System.ComponentModel.DataAnnotations; 

Добавьте ссылку .NET в свой проект, щелкнув правой кнопкой мыши проект в обозревателе решений:

введите описание изображения здесь

Надеюсь это поможет! Этот вопрос помог мне.

У меня также была та же проблема, и я решил, добавив ссылку в один из моих проектов, у которого не было упомянутой ссылки. Если в вашем решении есть 2-3 проекта, проверьте их, добавив эту ссылку в другие проекты.

Используйте FrameWork версии 4.5 и выше для вашего проекта, тогда проблема будет решена. Поскольку это пространство имен меньше 4.5 и выше.

Я обнаружил, что не могу ссылаться на System.ComponentModel.DataAnnotations из Silverlight 5 с приведенной ниже версией (1). Я обнаружил, что сборки Silverlight 5 не могут использовать сборки .NET, они дают ошибку «Вы не можете добавить ссылку на System.ComponentModel.DataAnnotations, поскольку она не была создана против среды выполнения Silverlight …». Я планирую обход этого надеясь установить пакет Silverlight 5, указанный ниже (2). Если это не удается, я обновлю это сообщение.

[UPDATE: не удалось. Я установил все, что связано с Silverlight 5, и у меня нет версии Silverlight сборки .dll System.ComponentModel.DataAnnotations. Очень жаль. ОБНОВЛЕНИЕ II: я нашел старый .dll, имеющий это имя, из предыдущей установки разработчика Silverlight для Visual Studio 2008 или 2010. Я добавил этот файл и, похоже, «работает», поскольку IntelliSense теперь распознает атрибуты для членов classа, например [Display(Name = "My Property Name")]. Независимо от того, работает ли это для всего остального в этом .dll, я не знаю.]

(1)

 Microsoft Visual Studio Professional 2013 Version 12.0.21005.1 REL Microsoft .NET Framework Version 4.5.51641 

Установленная версия: Professional

(2) http://go.microsoft.com/fwlink/?LinkId=229318

Если у вас его нет в ссылках (например, я этого не сделал), вы также можете добавить NuGet System.ComponentModel.Annotations, чтобы получить сборки и устранить ошибки. (Добавив его здесь, поскольку этот ответ по-прежнему находится в верхней части Google для ошибки)

 This error occurs when the reference to the "System.dll" got removed.Solution to the problem is very simple add the reference to "System.dll".The dll is normally available in the following location "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" .Add the reference your problem will get solved . 

Если вы попытались обновить визуальную студию от vs2008 до vs2010. И ваше приложение использует фреймворк 3.5 (и вы не хотите его обновлять), а также использовать службы WCF RIA BETA … У меня плохие новости … вы ДОЛЖНЫ обновляться до WCF RIA Services v1 (BETA не работает на vs2010 ) … и из-за этого … вам также нужно установить Silverlight 4 + upgrade на платформу 4.0

См. Это: http://blog.nappisite.com/2010/05/updating-visual-studio-2008net-35-ria.html

Я обновился от Silverlight 4 до Silverlight 5, а затем у меня возникла эта проблема. Хотя у меня была ссылка на «System.ComponentModel.DataAnnotations» в разделе «Ссылки» в моем проекте, у нее был знак желтого урожая, указывающий, что ранее не найденная assembly не найдена. Оказалось, что в свойствах ссылки «System.ComponentModel.DataAnnotations» указано «Специфическая версия = True», когда я изменил ее на «Специфическая версия = False», она исправила проблему. Щелкните правой кнопкой мыши на сборке «System.ComponentModel.DataAnnotations» в разделе «Ссылки» и выберите «Свойства» в контекстном меню. Убедитесь, что значение свойства для «Специфическая версия = False».

Должно быть, это ссылка на старый Silverlight 4, который больше не доступен после обновления до Silverlight 5.

System.ComponentModel.DataAnnotations содержится в его собственной сборке, поэтому вам нужно убедиться, что у вас есть ссылка. Просто:

1). Щелкните правой кнопкой мыши на Soloution и выберите add.

2). Выберите ссылку из списка.

3). Найдите «System.ComponentModel.DataAnnotation» и установите галочку в левой части windows и нажмите «ОК».

Задание выполнено, не должно быть никаких ошибок при отправке.

У меня также есть эта проблема. Это очень глупо, когда я добавляю пространство имен в System. Я пытаюсь удалить все ссылки, но это не разрешено. Я использую «global :: System.ComponentModel», он также работает. Когда я удаляю свое пространство имен, эта проблема решена.

У меня была такая же проблема, я решил эту проблему следующим образом.

Щелкните правой кнопкой мыши на странице, выберите «Свойства». в операции сборки выберите «Содержимое».

Надеюсь, что это решение может вам помочь.

  • Как Windows 8 Runtime (приложения для WinRT / Windows Store / Windows 10 Universal App) сравниваются с Silverlight и WPF?
  • BitmapImage в WPF блокирует файл
  • Отображение PDF-файла в приложении WPF
  • Контекстное меню WPF в левом клике
  • Как я могу создать границу и строку заголовка windows в WPF?
  • FileSystemWatcher используется для просмотра папки / файла
  • Как перетащить UserControl внутри canvasа
  • Является ли атрибут CallerMemberName в 4.5 "способным подделаться"?
  • Создание BitmapImage из массива байтов
  • Каков наилучший способ переключения представлений / пользовательских элементов в MVVM-light и WPF?
  • WPF / C #: Где я должен сохранять файлы пользовательских настроек?
  • Давайте будем гением компьютера.