Présentation 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 de texte dans le fichier .sln et l’interface IVsPersistSolutionOpts écrit des flux binaires dans le fichier .suo.

Remarque

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 persistance de solution prenant en charge VSPackage utilise trois interfaces, l’interface IVsSolutionPersistence , qui est implémentée par l’environnement et appelée par VSPackage, et IVsPersistSolutionPropsIVsPersistSolutionOpts, qui sont toutes deux implémentées par 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 QueryInterfaceIVsPackage l’interface pour l’interface requise par 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 la solution (.suo).

Remarque

Si vous souhaitez créer une configuration de solution composée de deux configurations de projets et à l’exclusion d’un tiers de la build, vous devez utiliser l’interface utilisateur 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.