Почему я не могу ссылаться на систему.ComponentModel.DataAnnotations?
Я пытаюсь использовать DataAnnotations в моем проекте WPF, чтобы указать максимальную длину строк, со следующим:
using System.ComponentModel.DataAnnotations;
однако, я получаю ошибку
имя типа или пространства имен 'DataAnnotations' не существует в
система пространства имен.ComponentModel ' (вы пропустили сборку
ссылка?)
Я видел другие примеры, где DataAnnotationsтут в этом пространстве имен. Я использую C#4. Есть ли причина почему я не могу использовать это? Что я могу сделать, чтобы исправить это?
12 ответов:
вы должны ссылаться на сборку, в которой определено это пространство имен (по умолчанию оно не упоминается в шаблонах visual studio). Откройте Диспетчер ссылок и добавьте ссылку на систему.ComponentModel.Сборка DataAnnotations (обозреватель решений - > добавить ссылку - > Выбрать вкладку .Net - > выбрать систему.ComponentModel.DataAnnotations из списка)
К Системе Отсчета.ComponentModel.DataAnnotations
в файле кода, чтобы иметь с помощью системы.ComponentModel.DataAnnotations; в верхней части файла, например:
using System.ComponentModel.DataAnnotations;добавьте ссылку .NET в свой проект, щелкнув правой кнопкой мыши проект в обозревателе решений:
надеюсь, что это помогает! Этот вопрос помог мне.
У меня также была та же проблема, и я решил, добавив ссылку в один из моих проектов, который не имел упомянутой ссылки. Если у вас есть 2-3 проекта в вашем решении, то проверьте, добавив эту ссылку на другие проекты.
используйте фреймворк версии 4.5 и выше для вашего проекта, а затем проблема решена.Потому что это пространство имен под 4.5 и выше.
я обнаружил, что не могу ссылаться на систему.ComponentModel.DataAnnotations от Silverlight 5 с нижеприведенной версией в (1). Я обнаружил, что сборки Silverlight 5 не могут использовать сборки .NET, это дает ошибку "вы не можете добавить ссылку на систему.ComponentModel.DataAnnotations, поскольку он не был построен против среды выполнения Silverlight. ..."Я планирую обойти это, надеясь установить пакет Silverlight 5, найденный в (2) ниже. Если это не удастся, я обновлю это должность.
[обновление: это не удалось. Я установил все, что связано с Silverlight 5, и у меня нет версии Silverlight .система сборки dll.ComponentModel.DataAnnotations . Очень плохо. Обновление II: я нашел старый .dll, имеющая это имя из предыдущей установки Silverlight developer's kit для Visual Studio 2008 или 2010. Я добавил этот файл, и он, похоже, "работает", поскольку IntelliSense теперь распознает атрибуты членов класса, такие как
[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
Если у вас нет его в ссылках (как я не сделал), вы также можете добавить систему NuGet.ComponentModel.Примечания для получения сборок и устранения ошибок. (Добавляя его сюда, поскольку этот ответ все еще находится в верхней части 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 .
Если вы пытались обновить visual studio с vs2008 до vs2010. И ваше приложение использует framework 3.5 (и вы не хотите его обновлять), а также использует бета-версию служб WCF RIA... У меня плохие новости... необходимо обновить до WCF RIA Services v1 (бета-версия не работает на vs2010)... и благодаря этому... вы также должны установить Silverlight 4 + обновление до framework 4.0
посмотреть этот: http://blog.nappisite.com/2010/05/updating-visual-studio-2008net-35-ria.html
Я обновился с Silverlight 4 до Silverlight 5, а затем у меня возникла эта проблема. Хотя у меня была ссылка на систему".ComponentModel.DataAnnotations "в разделе" Ссылки " в моем проекте у него был желтый знак выхода, который указывал, что ранее упомянутая сборка не может быть найдена. Оказалось, что свойства системы".ComponentModel.DataAnnotations " ссылка указала "Specific Version = True", когда я изменил это на" Specific Version = False", это исправило проблему. Щелкните правой кнопкой мыши на "Система.ComponentModel.DataAnnotations "сборка в разделе" Ссылки "и выберите" Свойства " из контекстного меню. Проверьте, что значение свойства для "Specific Version = False".
Он должен был ссылаться на старую сборку Silverlight 4, которая больше не была доступна после обновления до Silverlight 5.
У меня тоже есть эта проблема. Это очень глупо, когда я добавляю пространство имен то же самое с системой. Я пытаюсь удалить все ссылки, но это не решается. Я использую " global:: System.ComponentModel", он также работает. Когда я удаляю свое пространство имен, эта проблема была решена.
У меня была такая же проблема, я решил эту проблему следующим образом.
Правой Кнопкой Мыши на странице, выберите Свойства. в действии построения выберите содержимое.
надеюсь, что это решение может помочь вам.

Comments