Partager via


Vue d’ensemble des solutions

Une solution est un regroupement d’un ou plusieurs projets qui fonctionnent ensemble pour créer une application. Les informations de projet et d’état relatives à la solution sont stockées dans deux fichiers de solution différents. Le fichier de solution (.sln) est basé sur du texte et peut être placé sous contrôle de code source et partagé entre les utilisateurs. Le fichier d’option utilisateur de solution (.suo) est binaire. Par conséquent, le fichier .suo ne peut pas être placé sous contrôle de code source et contient des informations spécifiques à l’utilisateur.

Tout VSPackage peut écrire dans l’un ou l’autre type de fichier de solution. En raison de la nature des fichiers, il existe deux interfaces différentes implémentées pour les écrire. L’interface IVsPersistSolutionProps écrit des informations textuelles dans le fichier .sln et l’interface IVsPersistSolutionOpts écrit des flux binaires dans le fichier .suo.

Note

Un projet n’a pas besoin d’écrire explicitement une entrée pour elle-même dans le fichier solution ; l’environnement gère cela pour le projet. Par conséquent, sauf si vous souhaitez ajouter du contenu supplémentaire spécifiquement au fichier de solution, vous n’avez pas besoin d’inscrire votre VSPackage de cette façon.

Chaque VSPackage supportant la persistance des solutions utilise trois interfaces, l’interface IVsSolutionPersistence, qui est implémentée par l’environnement et appelée par le VSPackage, et IVsPersistSolutionProps et IVsPersistSolutionOpts, qui sont toutes deux implémentées par le VSPackage. L’interface IVsPersistSolutionOpts doit uniquement être implémentée si les informations privées doivent être écrites par VSPackage dans le fichier .suo.

Lorsqu’une solution est ouverte, le processus suivant a lieu.

  1. L’environnement lit la solution.

  2. Si l’environnement trouve un CLSID, il charge le VSPackage correspondant.

  3. Si un VSPackage est chargé, l’environnement appelle l’interface QueryInterface pour l’interface IVsPackage requise par le VSPackage.

    • Lors de la lecture à partir d’un fichier .sln, l’environnement appelle QueryInterfaceIVsPersistSolutionProps.

    • Lors de la lecture à partir d’un fichier .suo, l’environnement appelle QueryInterfaceIVsPersistSolutionOpts.

    Des informations spécifiques relatives à l’utilisation de ces fichiers sont disponibles dans le fichier Solution (.sln) et le fichier Options Utilisateur de Solution (.suo).

Note

Si vous souhaitez créer une configuration de solution comprenant deux configurations de projets, sans inclure un troisième projet dans la build, vous devez utiliser l'interface des pages de propriétés ou l'automatisation. Vous ne pouvez pas modifier directement les configurations du gestionnaire de build de solution et leurs propriétés, mais vous pouvez manipuler le gestionnaire de build de solution à l’aide de la SolutionBuild classe DTE dans le modèle Automation. Pour plus d’informations sur la configuration des solutions, consultez Configuration de la solution.