124 votes

Pourquoi ne puis-je pas faire référence à System.ComponentModel.DataAnnotations ?

J'essaie d'utiliser les DataAnnotations dans mon projet WPF pour spécifier une longueur maximale pour les chaînes de caractères, avec ce qui suit :

using System.ComponentModel.DataAnnotations;

Cependant, j'obtiens l'erreur suivante

Le nom du type ou de l'espace de noms "DataAnnotations" n l'espace de noms 'System.ComponentModel' (manque-t-il un assembly référence d'assemblage ?)

J'ai vu d'autres exemples où DataAnnotations fait existent dans cet espace de noms. J'utilise C#4. Y a-t-il une raison pour laquelle je ne peux pas l'utiliser ? Que puis-je faire pour y remédier ?

172voto

Hari Points 1568

Vous devez référencer l'assembly dans lequel cet espace de noms est défini (il n'est pas référencé par défaut dans les templates de visual studio). Ouvrez votre gestionnaire de références et ajoutez une référence à l'assembly System.ComponentModel.DataAnnotations (Solution explorer -> Add reference -> Select .Net tab -> select System.ComponentModel.DataAnnotations from the list).

47voto

JohnB Points 6869

Si l'on utilise NET Core o .NET Standard

utiliser :

Gérer les paquets NuGet..

Use Manage NuGet Packages

au lieu de :

Ajouter une référence...

Don't use Add Reference

13voto

Catto Points 756

Pour référencer System.ComponentModel.DataAnnotations

Dans un fichier de code, avoir Using System.ComponentModel.DataAnnotations ; au début du fichier, comme par exemple :

using System.ComponentModel.DataAnnotations;

Ajoutez une référence .NET à votre projet en cliquant avec le bouton droit de la souris sur le projet dans l'explorateur de solutions :

enter image description here

J'espère que cela vous aidera ! Cette question m'a aidé.

8voto

Rodger Points 598

Si vous ne l'avez pas dans les références (comme moi), vous pouvez aussi ajouter le NuGet System.ComponentModel.Annotations pour obtenir les assemblages et résoudre les erreurs. (Je l'ajoute ici car cette réponse est toujours en tête de Google pour l'erreur)

4voto

Ashish Sahu Points 61

J'ai eu le même problème et je l'ai résolu en ajoutant la référence dans un de mes projets qui n'avait pas la référence mentionnée. Si vous avez 2 ou 3 projets dans votre solution, vérifiez en ajoutant cette référence aux autres projets.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X