Découvrir les projets et les solutionsLearn about projects and solutions

Dans cet article d’introduction, nous allons explorer le processus de création d’une solution et d’un projet dans Visual Studio.In this introductory article, we'll explore what it means to create a solution and a project in Visual Studio. Une solution est un conteneur qui sert à organiser un ou plusieurs projets de code associés, par exemple une bibliothèque de classes et un projet test correspondant.A solution is a container that's used to organize one or more related code projects, for example a class library and a corresponding test project. Nous allons examiner les propriétés d’un projet et certains des fichiers associés.We'll look at the properties of a project and some of the files it can contain. Nous allons également créer une référence d’un projet vers un autre.We'll also create a reference from one project to another.

Si vous n’avez pas encore installé Visual Studio, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Nous allons créer une solution et un projet de toutes pièces pour vous aider à bien comprendre le concept de projet.We'll construct a solution and project from scratch as an educational exercise to understand the concept of a project. En règle générale, quand vous créez un projet dans Visual Studio, il vous suffit le plus souvent d’utiliser certains des différents modèles de projet proposés par Visual Studio.In your general use of Visual Studio, you'll likely use some of the various project templates that Visual Studio offers when you create a new project.

Note

Le développement d’applications dans Visual Studio peut se faire sans solutions ni projets.Solutions and projects aren't required to develop apps in Visual Studio. Vous pouvez aussi simplement ouvrir un dossier qui contient du code et commencer à écrire du code, générer des builds et déboguer le code.You can also just open a folder that contains code and start coding, building, and debugging. Par exemple, si vous clonez un dépôt GitHub, il est possible qu’il ne contienne pas de solutions et projets Visual Studio.For example, if you clone a GitHub repo, it might not contain Visual Studio projects and solutions. Pour plus d’informations, consultez Développer du code dans Visual Studio sans projets ni solutions.For more information, see Develop code in Visual Studio without projects or solutions.

Solutions et projetsSolutions and projects

Les solutions sont des conteneurs dans lesquels Visual Studio organise un ou plusieurs projets associés.Solutions are containers used by Visual Studio to organize one or more related projects. Quand vous ouvrez une solution dans Visual Studio, tous les projets qu’elle contient sont chargés automatiquement.When you open a solution in Visual Studio, it automatically loads all the projects it contains.

Créer une solutionCreate a solution

Nous allons commencer notre exploration en créant une solution vide.We'll start our exploration by creating an empty solution. Une fois que vous connaîtrez mieux Visual Studio, vous n’aurez sans doute pas souvent besoin de créer des solutions vides.After you get to know Visual Studio, you probably won't find yourself creating empty solutions very often. Quand vous créez un projet, Visual Studio crée automatiquement une solution pour héberger le projet (s’il n’y a pas d’autre solution déjà ouverte).When you create a new project, Visual Studio automatically creates a solution to house the project if there's not a solution already open.

  1. Ouvrez Visual Studio.Open Visual Studio.

  2. Dans la barre de menus, qui est la rangée de menus tels que Fichier et Edition, choisissez Fichier > Nouveau > Projet.On the menu bar, which is the row of menus such as File and Edit, choose File > New > Project.

    La boîte de dialogue Nouveau projet s'affiche.The New Project dialog box opens.

  3. Dans le volet gauche, développez Autres types de projets, puis choisissez Solutions Visual Studio.In the left pane, expand Other Project Types, then choose Visual Studio Solutions. Dans le volet central, choisissez le modèle Solution vide.In the center pane, choose the Blank Solution template. Nommez votre solution QuickSolution, puis choisissez le bouton OK.Name your solution QuickSolution, then choose the OK button.

    Modèle Solution vide dans Visual Studio

    La page de démarrage se ferme et une solution s’affiche dans l’Explorateur de solutions sur le côté droit de la fenêtre Visual Studio.The Start Page closes, and a solution appears in Solution Explorer on the right-hand side of the Visual Studio window. L’Explorateur de solutions vous sera sans doute souvent utile pour parcourir le contenu de vos projets.You'll probably use Solution Explorer often, to browse the contents of your projects.

Ajouter un projetAdd a project

Nous allons maintenant ajouter notre premier projet à la solution.Now let's add our first project to the solution. Nous allons démarrer avec un projet vide et y ajouter les éléments nécessaires.We'll start with an empty project and add the items we need to the project.

  1. Dans le menu contextuel (clic droit) de Solution 'QuickSolution' dans l’Explorateur de solutions, choisissez Ajouter > Nouveau projet.From the right-click or context menu of Solution 'QuickSolution' in Solution Explorer, choose Add > New Project.

    La boîte de dialogue Ajouter un nouveau projet s'ouvre.The Add New Project dialog box opens.

  2. Dans le volet gauche, développez Visual C#, puis choisissez Bureau Windows.In the left pane, expand Visual C# and choose Windows Desktop. Ensuite, dans le volet central, choisissez le modèle Projet vide (.NET Framework).Then, in the middle pane, choose the Empty Project (.NET Framework) template. Nommez le projet QuickDate, puis choisissez le bouton OK.Name the project QuickDate, then choose the OK button.

    Un projet nommé QuickDate s’affiche en dessous de la solution dans l’Explorateur de solutions.A project named QuickDate appears beneath the solution in Solution Explorer. Il contient un seul fichier appelé App.config.Currently it contains a single file called App.config.

    Note

    Si vous ne voyez pas Visual C# dans le volet gauche de la boîte de dialogue, vous devez installer la charge de travail Visual Studio Développement .NET Desktop.If you don't see Visual C# in the left pane of the dialog box, you need to install the .NET desktop development Visual Studio workload. Visual Studio utilise une installation basée sur la charge de travail pour installer uniquement les composants dont vous avez besoin pour le type de développement que vous effectuez.Visual Studio uses workload-based installation to only install the components you need for the type of development you do. Pour installer une nouvelle charge de travail, un moyen simple consiste à choisir le lien Ouvrir Visual Studio Installer en bas à gauche de la boîte de dialogue Ajouter un nouveau projet.An easy way to install a new workload is to choose the Open Visual Studio Installer link in the bottom left corner of the Add New Project dialog box. Une fois Visual Studio Installer lancé, choisissez la charge de travail Développement .NET Desktop, puis cliquez sur le bouton Modifier.After Visual Studio Installer launches, choose the .NET desktop development workload and then the Modify button.

    Lien Ouvrir Visual Studio Installer

Ajouter un élément au projetAdd an item to the project

Nous avons un projet vide.We have an empty project. Ajoutons un fichier de code.Let's add a code file.

  1. Dans le menu contextuel (clic droit) du projet QuickDate dans l’Explorateur de solutions, choisissez Ajouter > Nouvel élément.From the right-click or context menu of the QuickDate project in Solution Explorer, choose Add > New Item.

    La boîte de dialogue Ajouter un nouvel élément s’ouvre.The Add New Item dialog box opens.

  2. Développez Éléments Visual C#, puis choisissez Code.Expand Visual C# Items, then choose Code. Dans le volet central, choisissez le modèle d’élément Classe.In the middle pane choose the Class item template. Nommez la classe Calendar, puis choisissez le bouton Ajouter.Name the class Calendar, and then choose the Add button.

    Un fichier nommé Calendar.cs est ajouté au projet.A file named Calendar.cs is added to the project. .cs est l’extension de fichier attribuée aux fichiers de code C#.The .cs on the end is the file extension that is given to C# code files. Le fichier s’affiche dans la hiérarchie de projets Visual dans l’Explorateur de solutions, et son contenu est ouvert dans l’éditeur.The file appears in the visual project hierarchy in Solution Explorer, and its contents are opened in the editor.

  3. Remplacez le contenu du fichier Calendar.cs par le code ci-dessous :Replace the contents of the Calendar.cs file with the following code:

    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 ce que fait le code, mais si vous le souhaitez, vous pouvez exécuter le programme pour observer qu’il affiche la date du jour dans la fenêtre de console (ou sortie standard).You don't need to understand what the code does, but if you want, you can run the program and see that it prints today's date to the console (or standard output) window.

Ajouter un deuxième projetAdd a second project

Les solutions contiennent souvent plusieurs projets, qui se référencent mutuellement.It is common for solutions to contain more than one project, and often these projects reference each other. Les différents projets d’une solution peuvent être des bibliothèques de classes, des applications exécutables, des projets de test unitaire ou des sites web.Some projects in a solution might be class libraries, some executable applications, and some might be unit test projects or websites.

Nous allons ajouter un projet de test unitaire à notre solution.Let's add a unit test project to our solution. Cette fois, nous allons démarrer avec un modèle de projet. Nous n’avons donc pas à ajouter un fichier de code supplémentaire au projet.This time we'll start from a project template so we don't have to add an additional code file to the project.

  1. Dans le menu contextuel (clic droit) de Solution 'QuickSolution' dans l’Explorateur de solutions, choisissez Ajouter > Nouveau projet.From the right-click or context menu of Solution 'QuickSolution' in Solution Explorer, choose Add > New Project.

    La boîte de dialogue Ajouter un nouveau projet s'ouvre.The Add New Project dialog box opens.

  2. Dans le volet gauche, développez Visual Basic et choisissez la catégorie Test.In the left pane, expand Visual Basic and choose the Test category. Dans le volet central, choisissez le modèle de projet Projet de test unitaire (.NET Framework).In the middle pane, choose the Unit Test Project (.NET Framework) project template. Nommez le projet QuickTest, puis choisissez le bouton OK.Name the project QuickTest, and then choose the OK button.

    Un deuxième projet est ajouté à l’Explorateur de solutions et un fichier nommé UnitTest1.vb s’ouvre dans l’éditeur.A second project is added to Solution Explorer, and a file named UnitTest1.vb opens in the editor. .vb est l’extension de fichier attribuée aux fichiers de code Visual Basic..vb is the file extension that is given to Visual Basic code files.

    Explorateur de solutions de Visual Studio avec deux projets

Ajouter une référence au projetAdd a project reference

Nous allons utiliser le nouveau projet de test unitaire pour tester notre méthode dans le projet QuickDate. Nous devons donc ajouter une référence à ce projet.We're going to use the new unit test project to test our method in the QuickDate project, so we need to add a reference to that project. Cette opération crée une dépendance de build entre les deux projets, ce qui signifie que quand vous générez la solution, QuickDate est généré avant QuickTest.This creates a build dependency between the two projects, meaning that when you build the solution, QuickDate is built before QuickTest.

  1. Choisissez le nœud Références dans le projet QuickTest et, dans le menu contextuel (clic droit), choisissez Ajouter une référence.Choose the References node in the QuickTest project, and from the right-click or context menu, choose Add Reference.

    Menu Ajouter une référence

    La boîte de dialogue Gestionnaire de références s’ouvre.The Reference Manager dialog box opens.

  2. Dans le volet gauche, développez Projets et choisissez Solution.In the left pane, expand Projects and choose Solution. Dans le volet central, cochez la case à côté de QuickDate, puis choisissez le bouton OK.In the middle pane, choose the checkbox next to QuickDate, and then choose the OK button.

    Une référence au projet QuickDate est ajoutée.A reference to the QuickDate project is added.

Ajouter le code de testAdd test code

  1. Nous allons maintenant ajouter le code de test dans le fichier de code Visual Basic.Now we'll add test code to the Visual Basic code file. Remplacez le contenu du fichier UnitTest1.vb par le code suivant.Replace the contents of UnitTest1.vb with the following code.

    <TestClass()> Public Class UnitTest1
    
        <TestMethod()> Public Sub TestGetCurrentDate()
            Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate())
        End Sub
    
    End Class
    

    Vous voyez qu’une ligne ondulée rouge s’affiche sous une partie du code.You'll see a red "squiggly" under some of the code. Pour résoudre cette erreur, nous devons référencer le projet de test comme assembly friend dans le projet QuickDate.We'll fix this error by making the test project a friend assembly to the QuickDate project.

  2. Retournez dans le projet QuickDate, ouvrez le fichier Calendar.cs s’il n’est pas ouvert, puis ajoutez l’instruction using et l’attribut InternalsVisibleToAttribute suivants pour résoudre l’erreur dans le projet de test.Back in the QuickDate project, open the Calendar.cs file if it's not already open, and add the following using statement and InternalsVisibleToAttribute attribute, to resolve the error in the test project.

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

    Le fichier de code doit ressembler à ceci :The code file should look like this:

    Code CSharp

Propriétés de projetProject properties

Dans le fichier de code C#, la ligne qui contient l’attribut InternalsVisibleToAttribute référence le nom de l’assembly (nom de fichier) dans le projet QuickTest.The line in the C# code file that contains the InternalsVisibleToAttribute attribute references the assembly name (file name) of the QuickTest project. Le nom de l’assembly n’est pas toujours identique au nom du projet.The assembly name might not always be the same as the project name. Pour connaître le nom de l’assembly d’un projet, ouvrez les propriétés du projet.To find the assembly name of a project, open the project properties.

  1. Dans l’Explorateur de solutions, sélectionnez le projet QuickTest.In Solution Explorer, select the QuickTest project. Dans le menu contextuel (clic droit), sélectionnez Propriétés, ou appuyez simplement sur Alt+Entrée.From the right-click or context menu, select Properties, or just press Alt+Enter.

    Les pages de propriétés du projet s’ouvrent sous l’onglet Application. Elles contiennent différents paramètres du projet.The property pages for the project open on the Application tab. The property pages contain various settings for the project. Notez que le nom de l’assembly du projet QuickTest est bien « QuickTest ».Notice that the assembly name of the QuickTest project is indeed "QuickTest". Vous pouvez le modifier à cet endroit si vous le souhaitez.If you wanted to change it, this is where you'd change it. Quand vous générerez le projet de test, le nom du fichier exécutable obtenu aura le nouveau nom choisi à la place de QuickTest.exe.Then, when you build the test project, the name of the resulting executable file would change from QuickTest.exe to whatever you chose.

    Propriétés de projet

  2. Explorez les autres onglets des pages de propriétés du projet, tels que les onglets Compiler et Paramètres.Explore some of the other tabs of the project's property pages, such as Compile and Settings. Ces onglets sont différents pour différents types de projets.These tabs are different for different types of projects.

Étapes suivantesNext steps

Si vous souhaitez vérifier que votre test unitaire fonctionne correctement, choisissez Test > Exécuter > Tous les tests dans la barre de menus.If you want to check that your unit test is working, choose Test > Run > All Tests from the menu bar. Une fenêtre intitulée Explorateur de tests s’ouvre. Vérifiez que le résultat du test TestGetCurrentDate est correct.A window called Test Explorer opens, and you should see that the TestGetCurrentDate test passes.

Voir aussiSee also