2017-03-12 3 views
1

Je suis en train de jouer avec des projets de bibliothèque de classes .NET Core et de tester du code que j'ai déjà dans un projet de bibliothèque de classes classique ciblant .NET Framework. J'ai installé le package NuGet System.ComponentModel pour utiliser des annotations dans un enum. On dirait qu'il ne reconnaît pas l'annotation.Utilisation de System.ComponentModel dans une bibliothèque de classes .NET Core

Voici ce que l'ENUM ressemble:

using System.ComponentModel; 
public enum UserRole 
{ 
    [Description("Undefined")] 
    Undefined = 0, 
    [Description("Super User")] 
    SuperUser = 1, 
    [Description("Administrator")] 
    Admin = 2, 
    [Description("Regular User")] 
    RegUser = 4 
} 

L'erreur que je vois est:

n'a pas pu être trouvé le nom de type ou espace de noms « DescriptionAttribute » (vous manque une en utilisant la directive ou une référence de montage?)

l'utilisation de System.ComponentModel référence en haut est grisé et lo oks comme ça n'est pas utilisé du tout.

Deux questions:

  1. Je pense que je vais courir dans de nombreuses questions similaires. Quelle est la meilleure façon pour moi de comprendre les différences entre les références de bibliothèque de classes .NET Framework et .NET Core?
  2. Quelle est la solution pour pouvoir utiliser des annotations dans une bibliothèque de classes .NET Core?

P.S. Le code fonctionne parfaitement dans mon projet de bibliothèque de classes ciblant .NET Framework 4.6.2. Donc, je ne fais que transférer du code que je sais travailler dans mon nouveau projet .NET Core Class Library.

Répondre