Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez créer une solution qui se compile à la fois pour .NET Framework et .NET côte à côte. Cet article traite de plusieurs options d’organisation de projet pour vous aider à atteindre cet objectif. Voici quelques scénarios typiques à prendre en compte lorsque vous décidez de 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 plutôt que plusieurs projets qui ciblent chacune une version ou une plateforme .NET Framework différente.
- Simplifie la gestion des fichiers sources pour les projets multi-ciblés, car vous devez gérer un fichier projet unique. 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 pour la consommation.
- Vous permet d’écrire du code pour une version spécifique du .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, la conservation de vos fichiers projet dans différents dossiers 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 la possibilité de créer de nouveaux bogues dans des projets existants, car aucune activité de code n’est requise dans ces projets.
Prenons cet exemple de dépôt GitHub. La figure ci-dessous montre comment ce référentiel est disposé :
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 multi-ciblé
Réorganiser le référentiel afin que tous les fichiers *.csproj existants soient supprimés et qu’un seul fichier *.csproj soit créé qui cible plusieurs frameworks. Il s’agit d’une excellente option, car un seul projet peut être compilé pour différents frameworks. Il a également la possibilité de gérer différentes options de compilation et dépendances par framework ciblé.
Pour obtenir un exemple de code, consultez GitHub.
Les modifications apportées à la note sont les suivantes :
- Remplacement de packages.config et *.csproj par un nouveau .NET *.csproj. Les packages NuGet sont spécifiés avec
<PackageReference> ItemGroup
.
Conserver les projets existants et créer un projet .NET
S’il existe des projets qui ciblent des infrastructures plus anciennes, vous souhaiterez peut-être laisser ces projets inchangés et utiliser un projet .NET pour cibler des frameworks futurs.
Pour obtenir un exemple de code, consultez GitHub.
Les projets .NET et existants sont conservés dans des dossiers distincts. La conservation des projets dans des dossiers distincts évite de vous forcer à disposer de Visual Studio 2019 ou versions ultérieures. Vous pouvez créer une solution distincte qui ouvre uniquement les anciens projets.