Organiser votre projet pour prendre en charge .NET Framework et .NET
Vous pouvez créer une solution qui se compile parallèlement pour .NET Framework et .NET. Cet article décrit plusieurs options d’organisation de projet pour vous aider à atteindre cet objectif. Voici quelques scénarios classiques à prendre en compte quand vous devez décider comment configurer la disposition de votre projet avec .NET. La liste peut ne pas couvrir tout ce que vous voulez.
Combiner des projets existants et des projets .NET en un seul projet
Avantages :
- Simplifie votre processus de génération en compilant un seul projet au lieu de plusieurs, chacun ciblant une version de .NET Framework ou une plateforme différente.
- Simplifie la gestion des fichiers sources pour les projets multiciblés, car vous devez gérer un seul fichier projet. Lors de l’ajout ou de la suppression de fichiers sources, les alternatives vous obligent à synchroniser manuellement ces fichiers avec vos autres projets.
- Générez facilement un package NuGet à consommer.
- Vous permet d’écrire du code pour une version spécifique de .NET Framework à l’aide de directives du compilateur.
Inconvénient :
- nécessite que les développeurs utilisent Visual Studio 2019 ou une version ultérieure pour ouvrir des projets existants. Pour prendre en charge les versions antérieures de Visual Studio, conserver vos fichiers projet dans des dossiers différents est une meilleure option.
-
Avantages :
- Prend en charge le développement sur des projets existants pour les développeurs et les contributeurs qui n’ont peut-être pas Visual Studio 2019 ou une version ultérieure.
- Réduit le risque de création de bogues dans des projets existants car aucune évolution du code n’est nécessaire dans ces projets.
Prenons cet exemple de référentiel GitHub. La figure ci-dessous montre comment ce référentiel est organisé :
Les sections suivantes décrivent plusieurs façons d’ajouter la prise en charge de .NET en fonction de l’exemple de référentiel.
Remplacer des projets existants par un projet .NET multiciblé
Réorganisez le référentiel de sorte que tous les fichiers *.csproj existants soient supprimés et qu’un seul fichier *.csproj ciblant plusieurs frameworks soit créé. Il s’agit d’une excellente option, car un seul projet peut être compilé pour différents frameworks. Elle permet également de gérer différentes options de compilation et dépendances par framework ciblé.
Pour obtenir un exemple de code, consultez GitHub.
Les modifications à noter sont :
- Remplacement de packages.config et de *.csproj par un nouveau .NET *.csproj. Les packages NuGet sont spécifiés avec
<PackageReference> ItemGroup
.
Conserver des projets existants et créer un projet .NET
Si des projets existants ciblent des frameworks plus anciens, vous pouvez laisser ces projets inchangés et utiliser un projet .NET pour cibler les futurs frameworks.
Pour obtenir un exemple de code, consultez GitHub.
Le projet .NET et les projets existants sont conservés dans des dossiers distincts. Conserver les projets dans des dossiers distincts vous évite de devoir disposer de Visual Studio 2019 ou d’une version ultérieure. Vous pouvez créer une solution distincte qui ouvre seulement les anciens projets.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour