29
votes

Comment créer un projet de bibliothèque de classe .net 5.0 dans Visual Studio 2019 16.8.1?

Je ne peux pas voir l'option de bibliothèque de classe (.NET) sur Ajouter une nouvelle fenêtre Project dans Visual Studio 16.8.1. Comment puis-je créer un projet de bibliothèque de classe (.NET)? (Pas .NET Core ou .NET Framework)


10 commentaires

.NET 5 est .net Core 5. Créez une nouvelle bibliothèque .net Core et définissez le framework cible sur 5


Créez une nouvelle bibliothèque de classe .NET Core et modifiez pour net5.0 dans le CSPROJ. .NET 5 est juste renommé .NET Core. J'imagine que les modèles rattraperont leur retard à un moment donné.


Toute bibliothèque de classe que vous créez qui cible net5.0 ne peut être utilisée que par .NET 5 et plus, cependant, même .NET Core 3.1. Si vous souhaitez utiliser cette bibliothèque avec 3.1, vous devez cibler .NET Standard 2.1


Les bibliothèques ciblent généralement la version acceptable la plus basse, pas la plus élevée, afin qu'elles soient utilisables dans plus de situations.


@Dialecticus C'est une simplification excessive d'une zone complexe; Il y a des coûts pour cibler des frameworks plus anciens, et je ne veux pas seulement dire que le code compromet en raison des fonctionnalités manquantes - je veux dire des choses comme "quelqu'un l'a-t-il testé sur (Framework plus ancien)?". Il existe de nombreuses bonnes raisons de limiter les bibliothèques à plus de frameworks récent. Si je commençais une bibliothèque à partir de zéro, je ciblerai probablement Net5.0 jusqu'à ce qu'il y ait une bonne raison de multi-cible, date à laquelle je pourrais envisager d'ajouter NetCoreApp3.1; Tout ce qui est inférieur: aurait besoin d'une considération sérieuse


@Marcgravell: Je pense qu'il y a un mérite significatif à la limitation à la dernière version lts . Personnellement, je démarrerais probablement une nouvelle bibliothèque avec netstandard2.1, sauf si j'avais besoin de quelque chose d'une version plus récente ou de NetCoreApp3.1.


@Jonskeet C'est un sujet que nous pourrions discuter avec plaisir pendant des heures sur quelques boissons dans un monde non confortable :) Mes deux prochaines questions seraient: "OK, alors quels frameworks autres que .NET Core 3.1 implémenter .NET Standard 2.1?" et "Et avez-vous en fait testé sur ce framework [/ ces] [s]?". Il y a aussi un autre avantage secondaire de simplifier considérablement l'arbre de dépendance - vous pouvez perdre un lot des références en ciblant le cadre plutôt que la norme API. Je suis d'accord cependant: twitter.com/marcgravell/status/1327304774291779585


@Marcgravell: Ouais, prenons ces boissons quand nous le pouvons. Peut bien être à peu près à ce moment-là .net 6 sort de toute façon. (Pour l'instant, je dois continuer à cibler Netstandard20 et Net461 de toute façon ... les clients ...)


J'ai le même problème. Je vois .NET Core, .NET Standard, .NET Framework mais rien qui indique .NET 5 - Ce serait bien si vous pouviez filtrer par version.


.net 5 non disponible dans Visual Studio 2019 et Tutorial: créer une bibliothèque de classe .NET à l'aide de Visual Studio < / a>


4 Réponses :


5
votes

Vous pouvez essayer les étapes suivantes pour créer un projet de bibliothèque de classe basé sur .net 5.0.

Tout d'abord, veuillez télécharger le SDK .net 5.0 à partir de Télécharger .net 5.0 et l'installer.

Deuxièmement, veuillez utiliser la commande suivante pour créer le projet.

dotnet new Classlib -n Testlib

 Entrer la description de l'image ici

Troisième >

Enfin, vous pouvez voir une bibliothèque de classe basée sur .net 5.0.

 Entrez la description de l'image ici


0 commentaires

19
votes

Si les modèles de projet vous donnent toujours .NET Core 3.1 comme l'option la plus élevée, et que les options de propriétés du projet ne permettent pas ce que vous voulez - ce n'est pas un problème: cliquez simplement avec le bouton droit sur le projet dans Solution Explorer et sélectionnez "Modifier le fichier du projet", pour modifier le .csproj, et vous pouvez modifier le framework cible - par exemple, à partir de

<TargetFrameworks>netcoreapp3.1;net5.0</TargetFrameworks>

à

<TargetFramework>net5.0</TargetFramework>

pour cibler .net 5, ou

<TargetFramework>netcoreapp3.1</TargetFramework>

au multi-cible.


4 commentaires

J'aime la façon dont la génération actuelle semble avoir aucune idée pourquoi elle s'appelle Visual studio. Je ne sais pas si Microsoft voit avoir à modifier le fichier de projet à la main comme un avancement. Mais cela n'a aucun sens pour moi.


@Jonathanwood et la plupart des changements peuvent être fabriqués via l'interface utilisateur; Je ne suis pas inquiet si certaines choses de niche ne peuvent pas - et honnêtement, il ne devrait pas y avoir de "magie" - cela vaut la peine de prendre le temps de savoir ce que fait l'interface utilisateur


Plus vous pouvez en apprendre, mieux c'est. Mais le "visuel" est lié à la productivité. Je devrais être en mesure de créer un projet qui utilise le dernier framework de Microsoft sans modifier manuellement le fichier de projet. Je veux dire, sinon, pourquoi ont des menus? Donnez-nous simplement une grande fenêtre de commande et nous allons tout taper. Cela éliminerait presque toute la «magie».


@Jonathanwood: Pour moi, puisque Visual C ++ 6.0, il s'agissait de double-cliquer sur un bouton dans l'éditeur de dialogue et de se rendre au Code Onbutton_Click - puis de ne pas interroger "Visual" à nouveau: D



2
votes

Le moyen le plus simple consiste à créer une bibliothèque .NET Core , puis de simplement modifier cible framework dans les propriétés du projet. .NET 5.0 est disponible!

 Entrez la description de l'image ici

Mais notez, si vous créez .NET Framework Library, les options à changer en .NET Core ou .net 5.0 ne seront pas là.

Il semble que Visual Studio traite .net 5.0 comme la dernière version de .net Core . C'est dans le même bac.

C'est avec Visual Studio 2019 version 16.8.4


0 commentaires

22
votes

Dans Visual Studio 2019, je pense que cela doit être 16,8+, vous pouvez activer la fonction d'aperçu Afficher tous les modèles de base .NET dans la boîte de dialogue du nouveau projet .

 Entrez la description de l'image ici

Go Tools -> Options -> Environment -> Fonctions de prévisualisation -> Afficher tous les modèles de noyau .NET dans la boîte de dialogue du nouveau projet (nécessite un redémarrage)

Fermez ensuite Visual Studio et rouvrez-le. Maintenant, à partir de la boîte de dialogue du nouveau projet, il devrait y avoir une Bibliothèque de classe avec un C # dans les balises.

 Entrez la description de l'image ici

À partir d'ici, cliquez sur Suivant . Remplissez où vous voulez qu'il soit fait et comment l'appeler comme vous le feriez normalement.

 Entrez la description de l'image ici

puis cliquez sur Suivant à nouveau. Cela vous amènera à un nouvel écran qui a une liste déroulante pour le Framework .

 Entrez la description de l'image ici

Définissez ceci sur .net 5.0 et cliquez sur Créer . Cela crée une bibliothèque de classe .net 5.0 et l'ouvre dans l'IDE.


1 commentaires

Très bonne réponse. Juste pour ajouter à cela, une version mise à jour de Visual Studio est nécessaire, comme vous l'avez également souligné. DeveloperCommunity.Visualstudio.com/t/target-framework / a>