Présentation des projets et solutions

Cet article de présentation explore le processus de création d’une solution et d’un projet dans Visual Studio. Une solution est un conteneur servant à organiser un ou plusieurs projets de code associés, par exemple, un projet de bibliothèque de classes et un projet de test correspondant.

En guise d’exercice pédagogique pour comprendre le concept de projet, vous construisez une solution et un projet à partir de zéro. En règle générale, vous utilisez des modèles de projet Visual Studio pour créer des projets. Vous examinez également les propriétés d’un projet et certains des fichiers qu’il peut contenir, et créez une référence d’un projet à un autre.

Notes

Le développement d’applications dans Visual Studio ne nécessite pas de solutions ni de projets. Vous pouvez simplement ouvrir un dossier qui contient du code et commencer à écrire du code, générer des builds et déboguer le code. Par exemple, un dépôt GitHub cloné ne contient pas nécessairement de solutions et projets Visual Studio. Pour plus d’informations, consultez Développer du code dans Visual Studio sans projets ni solutions.

Si vous n’avez pas encore installé Visual Studio 2019, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.

Si vous n’avez pas encore installé Visual Studio, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.

Solutions et projets

Dans Visual Studio, une solution n’est pas une « réponse ». Une solution est simplement un conteneur dans lequel Visual Studio organise un ou plusieurs projets associés. Quand vous ouvrez une solution, Visual Studio charge automatiquement tous les projets que contient la solution.

Créer une solution

Commencez votre exploration en créant une solution vide. Une fois que vous serez familiarisé avec Visual Studio, vous ne créerez sans doute pas souvent des solutions vides. Quand vous créez un projet, Visual Studio crée automatiquement une solution pour le projet, sauf si une solution est déjà ouverte.

  1. Ouvrez Visual Studio.

  2. Dans la fenêtre de démarrage, sélectionnez Créer un projet.

  3. Dans la page Créer un projet, entrez solution vide dans la zone de recherche, sélectionnez le modèle Solution vide, puis sélectionnez Suivant.

    Screenshot that shows a Blank Solution template selected in Visual Studio 2019.

    Astuce

    Si vous avez plusieurs charges de travail installées, le modèle Solution vide peut ne pas apparaître en haut de votre liste de résultats de recherche. Essayez de faire défiler jusqu’à la section Autres résultats en fonction de votre recherche de la liste. Il doit s’y trouver.

  4. Nommez la solution QuickSolution, puis sélectionnez Créer.

    Une solution s’affiche dans l’Explorateur de solutions sur le côté droit de la fenêtre Visual Studio. L’Explorateur de solutions vous sera sans doute souvent utile pour parcourir le contenu de vos projets.

  1. Ouvrez Visual Studio et, dans la fenêtre de démarrage, sélectionnez Créer un projet.

  2. Dans la page Créer un projet, tapez solution vide dans la zone de recherche, sélectionnez le modèle Solution vide, puis sélectionnez Suivant.

    Screenshot that shows a Blank Solution template selected in Visual Studio.

    Astuce

    Si vous avez plusieurs charges de travail installées, le modèle Solution vide peut ne pas apparaître en haut de votre liste de résultats de recherche. Essayez de faire défiler jusqu’à Autres résultats en fonction de votre recherche pour trouver le modèle.

  3. Dans la page Configurer votre nouveau projet, nommez la solution QuickSolution, puis sélectionnez Créer.

    La solution QuickSolution s’affiche dans l’Explorateur de solutions sur le côté droit de la fenêtre Visual Studio. Vous utilisez l’Explorateur de solutions souvent pour parcourir le contenu de vos projets.

Ajouter un projet

Maintenant ajoutez votre premier projet à la solution. Commencez par un projet vide et ajoutez les éléments dont vous avez besoin.

  1. Dans le menu contextuel (ou clic droit) de Solution « QuickSolution » dans l’Explorateur de solutions, sélectionnez Ajouter>Nouveau projet.

    Une boîte de dialogue s’ouvre en indiquant Ajouter un nouveau projet.

  2. Dans la zone de recherche située tout en haut, entrez le texte vide, puis sélectionnez C# sous Langage.

  3. Sélectionnez le modèle Projet vide (.NET Framework), puis sélectionnez Suivant.

  4. Nommez le projet QuickDate, puis sélectionnez Créer.

    Un projet nommé QuickDate s’affiche en dessous de la solution dans l’Explorateur de solutions. Il contient un seul fichier appelé App.config.

    Notes

    Si vous ne voyez pas le modèle Projet vide (.NET Framework), installez la charge de travail Visual Studio de Développement de bureau .NET. Visual Studio utilise une installation basée sur une charge de travail pour installer uniquement les composants dont vous avez besoin pour le type de développement que vous effectuez.

    Pour installer facilement une nouvelle charge de travail quand vous créez un projet, sélectionnez le lien Installer plus d’outils et de fonctionnalités sous le texte indiquant Vous ne trouvez pas ce que vous cherchez ?. Une fois Visual Studio Installer lancé, sélectionnez la charge de travail Développement de bureau .NET, puis le bouton Modifier.

    Screenshot that shows the Open Visual Studio Installer link.

  1. Cliquez avec le bouton droit sur Solution « QuickSolution » dans l’Explorateur de solutions et sélectionnez Ajouter>Nouveau projet dans le menu contextuel.

  2. Dans la page Ajouter un nouveau projet, tapez vide dans la zone de recherche en haut, puis sélectionnez C# sous Tous les langages.

  3. Sélectionnez le modèle Projet vide (.NET Framework), puis sélectionnez Suivant.

    Notes

    Visual Studio utilise une installation basée sur une charge de travail pour installer uniquement les composants dont vous avez besoin pour le type de développement que vous effectuez. Si vous ne voyez pas le modèle Projet vide (.NET Framework), vous devez installer la charge de travail Visual Studio Développement de bureau .NET.

    Pour installer facilement une nouvelle charge de travail quand vous créez un projet, sélectionnez le lien Installer plus d’outils et de fonctionnalités sous le texte indiquant Vous ne trouvez pas ce que vous cherchez ?. Dans Visual Studio Installer, sélectionnez la charge de travail Développement de bureau .NET, puis sélectionnez Modifier.

    Screenshot that shows the Open Visual Studio Installer link.

  4. Dans la page Configurer votre nouveau projet, nommez le projet QuickDate et sélectionnez Créer.

    Le projet QuickDate s’affiche sous la solution dans l’Explorateur de solutions. Le projet contient un nœud References et un seul fichier nommé App.config.

Ajouter un élément au projet

Ajoutez un fichier de code à votre projet vide.

  1. Dans le menu contextuel (ou clic droit) du projet QuickDate dans l’Explorateur de solutions, sélectionnez Ajouter>Nouvel élément.

    La boîte de dialogue Ajouter un nouvel élément s’ouvre. Sélectionnez Afficher tous les modèles si la boîte de dialogue s’ouvre en mode compact.

  2. Développez Éléments Visual C#, puis sélectionnez Code. Dans le volet central, sélectionnez le modèle d’élément Classe. Sous Nom, tapez Calendrier, puis sélectionnez Ajouter.

    Visual Studio ajoute un fichier nommé Calendar.cs au projet. .cs est l’extension de fichier des fichiers de code C#. Le fichier Calendar.cs s’affiche dans la hiérarchie de projet visuelle de l’Explorateur de solutions et le fichier s’ouvre dans l’éditeur.

  3. Remplacez le contenu du fichier Calendar.cs par le code ci-dessous :

    using System;
    
    namespace QuickDate
    {
        internal class Calendar
        {
            static void Main(string[] args)
            {
                DateTime now = GetCurrentDate();
                Console.WriteLine($"Today's date is {now}");
                Console.ReadLine();
            }
    
            internal static DateTime GetCurrentDate()
            {
                return DateTime.Now.Date;
            }
        }
    }
    

    Vous n’avez pas besoin de comprendre tout ce que le code fait pour le moment. Exécutez l’application en appuyant sur Ctrl+F5 et vérifiez que l’application imprime la date du jour dans la fenêtre de console ou de sortie standard. Fermez ensuite la fenêtre de console.

Ajouter un deuxième projet

Les solutions contiennent souvent plusieurs projets, qui se référencent les uns les autres. Certains projets d’une solution peuvent être des bibliothèques de classes, des applications exécutables, et des projets de test unitaire ou des sites web.

Pour ajouter un projet de test unitaire à votre solution, commencez à partir d’un modèle de projet pour ne pas avoir à ajouter un autre fichier de code au projet.

  1. Dans le menu contextuel (ou clic droit) de Solution « QuickSolution » dans l’Explorateur de solutions, sélectionnez Ajouter>Nouveau projet.

  2. Dans la boîte de dialogue Ajouter un nouveau projet, dans la zone de recherche située tout en haut, entrez le texte test unitaire, puis sélectionnez C# sous Langage.

  3. Sélectionnez le modèle de projet Projet de test unitaire pour .NET Core, puis sélectionnez Suivant.

    Notes

    À compter de Visual Studio 2019 version 16.9, le nom du modèle de projet MSTest, initialement Projet de test unitaire MSTest (.NET Core), devient Projet de test unitaire. Plusieurs étapes de la création du projet ont changé dans cette mise à jour.

  4. Nommez le projet QuickTest, puis sélectionnez OK.

  5. Choisissez le framework cible recommandé (.NET Core 3.1) ou .NET 5, puis choisissez Créer.

    Un deuxième projet est ajouté à l’Explorateur de solutions et un fichier nommé UnitTest1.cs s’ouvre dans l’éditeur.

    Screenshot that shows Solution Explorer with two projects.

  1. Dans le menu contextuel (ou clic droit) de Solution « QuickSolution » dans l’Explorateur de solutions, sélectionnez Ajouter>Nouveau projet.

  2. Dans la boîte de dialogue Ajouter un nouveau projet, dans la zone de recherche en haut, tapez test unitaire, puis sélectionnez C# sous Tous les langages.

  3. Sélectionnez le modèle de projet Projet de test unitaire (.NET Framework) C#, puis sélectionnez Suivant.

  4. Dans la page Configurer votre nouveau projet, nommez le projet QuickTest et sélectionnez Créer.

    Visual Studio ajoute le projet QuickTest à l’Explorateur de solutions et le fichier UnitTest1.cs s’ouvre dans l’éditeur.

    Screenshot that shows Solution Explorer with two projects.

Ajouter une référence au projet

Comme vous utilisez le nouveau projet de test unitaire pour tester votre méthode dans le projet QuickDate, vous devez ajouter une référence à QuickDate vers le projet QuickTest. L’ajout de la référence crée une dépendance de build entre les deux projets. Cela signifie que QuickDate est généré avant QuickTest quand vous générez la solution.

  1. Sélectionnez le nœud Dépendances dans le projet QuickTest, puis dans le menu contextuel (ou clic droit), sélectionnez Ajouter une référence de projet.

    La boîte de dialogue Gestionnaire de références s’ouvre.

  2. Dans le volet gauche, développez Projets et sélectionnez Solution. Dans le volet central, cochez la case à côté de QuickDate, puis sélectionnez OK.

    Une référence au projet QuickDate est ajoutée.

    A screenshot of Solution Explorer showing a project reference in Visual Studio 2019.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud Références du projet QuickTest, puis sélectionnez Ajouter une référence dans le menu contextuel.

  2. Dans la boîte de dialogue Gestionnaire de références, sélectionnez Projets. Dans le volet central, cochez la case à côté de QuickDate, puis sélectionnez OK.

    Une référence au projet QuickDate s’affiche sous le projet QuickTest dans l’Explorateur de solutions.

    A screenshot of Solution Explorer showing a project reference.

Ajouter le code de test

  1. Maintenant, ajoutez le code de test dans le fichier de code de test C#. Remplacez le contenu du fichier UnitTest1.cs par le code suivant :

    using System;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace QuickTest
    {
        [TestClass]
        public class UnitTest1
        {
            [TestMethod]
            public void TestGetCurrentDate()
            {
                Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate());
            }
        }
    }
    

    Vous voyez une ligne ondulée rouge sous une partie du code. Vous pouvez résoudre cette erreur en définissant le projet de test comme un assembly friend du projet QuickDate.

  2. Dans le fichier Calendar.cs, ajoutez l’instruction using et l’attribut InternalsVisibleToAttribute suivants en haut du fichier pour résoudre l’erreur dans le projet de test.

    using System.Runtime.CompilerServices;
    
    [assembly: InternalsVisibleTo("QuickTest")]
    

    Le code de Calendar.cs doit ressembler à cette capture d’écran :

    Screenshot that shows C Sharp code.

    Screenshot that shows C Sharp code.

Exécuter le test unitaire

Pour vérifier que votre test unitaire fonctionne, choisissez Test>Exécuter tous les tests dans la barre de menus. Une fenêtre Explorateur de tests s’ouvre. Vérifiez que le test TestGetCurrentDate a réussi.

Screenshot that shows Test Explorer with a passed test.

Screenshot that shows Test Explorer with a passed test.

Astuce

Vous pouvez aussi ouvrir l’Explorateur de tests en choisissant Test>Explorateur de tests dans la barre de menus.

Propriétés d’un projet

Dans le fichier Calendar.cs, la ligne qui contient l’attribut InternalsVisibleToAttribute référence le nom de l’assembly ou nom de fichier du projet QuickTest. Le nom de l’assembly n’est pas toujours identique au nom du projet. Pour rechercher le nom d’assembly d’un projet, utilisez les propriétés du projet. Elles contiennent différents paramètres du projet.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet QuickTest et sélectionnez Propriétés, ou sélectionnez le projet, puis appuyez sur Alt+Entrée.

    Les pages de propriétés du projet s’ouvrent sur l’onglet Application. Le nom d’assembly du projet QuickTest est en effet QuickTest.

    Si vous le souhaitez, vous pouvez changer le nom ici. Quand vous générez le projet de test, le nom du fichier binaire obtenu passe de QuickTest.dll à <NewName>.dll.

    Screenshot that shows project properties.

    Screenshot that shows project properties.

  2. Explorez d’autres onglets des pages de propriétés du projet, par exemple Générer et Déboguer. Ces onglets sont différents pour différents types de projets.

Voir aussi