Configurations de génération

Mise à jour : novembre 2007

Les configurations de génération permettent de stocker plusieurs versions des propriétés de solutions et de projets. Vous pouvez rapidement accéder et modifier la configuration active, ce qui vous permet de générer facilement plusieurs configurations du même projet.

Par défaut, les projets créés avec Visual Studio incluent des configurations Debug et Release. Les configurations Debug sont automatiquement configurées pour déboguer une application, tandis que les configurations Release sont configurées pour la version finale d'une application. Pour plus d'informations, consultez Comment : définir des configurations Debug et Release. Vous pouvez également créer et modifier vos propres configurations de projet et de solution personnalisées en fonction des besoins de votre application. Pour plus d'informations, consultez Comment : créer et modifier des configurations.

Deux niveaux de configurations de génération peuvent être définis dans Visual Studio : les configurations de solutions et les configurations de projets.

Configurations de solutions

Une configuration de solution spécifie comment les projets d'une solution doivent être générés et (si l'option correspondante est activée) déployés. Pour définir une nouvelle configuration de solution, ouvrez la boîte de dialogue Gestionnaire de configurations (Gestionnaire de configurations, boîte de dialogue) et sélectionnez Nouvelle dans la liste Configuration de la solution active.

Chaque entrée dans une configuration de solution inclut un nom du projet, un paramètre de configuration, un paramètre de plate-forme, un paramètre de génération et, si l'option correspondante est activée) un paramètre de déploiement. La combinaison des paramètres de configuration et de plate-forme de solution sélectionnés détermine la configuration de projet qui sera utilisée. Pour plus d'informations sur les plates-formes, consultez Plateformes de génération.

Vous pouvez créer autant de configurations de solutions que vous le souhaitez, à condition d'attribuer un nom unique à chaque configuration. L'environnement de développement intégré (IDE) de Visual Studio assigne automatiquement des configurations de solutions dans les cas suivants :

  • Vous ajoutez une plate-forme de projet avec l'option Créer des plates-formes de solution sélectionnée.

  • Vous ajoutez une configuration de projet avec l'option Créer des configurations de solutions sélectionnée.

  • Vous ajoutez un projet à déployer sur plusieurs plates-formes, parmi lesquelles une est nouvelle.

En outre, les configurations de solutions fournissent à l'environnement de développement intégré des informations générales relatives au contexte d'un projet. Par exemple, si la configuration de solution active spécifie qu'un projet doit être généré pour un périphérique mobile, la boîte à outils n'affichera que les éléments de projet qui peuvent être utilisés dans un projet smart device mobile lorsque vous travaillez dans ce projet.

Configurations de projet

La configuration et la plate-forme de projet sont utilisées ensemble pour spécifier les propriétés à utiliser lors de la génération du projet. Un projet peut avoir un jeu de propriétés de projet définies par l'utilisateur pour chaque combinaison unique d'une configuration et d'une plate-forme. Les propriétés de projet sont modifiées avec le Concepteur de projets. Certains volets dans le Concepteur de projets contiennent des listes déroulantes qui indiquent la combinaison de configuration et de plate-forme de projet courante.

Vous pouvez définir les propriétés de configuration souhaitées dans chaque configuration de projet. Les propriétés du projet servent à déterminer, par exemple, les éléments de projet à inclure dans une génération donnée ainsi que les fichiers de sortie à créer, leur emplacement et leur niveau d'optimisation.

Les configurations de projet peuvent être très différentes les unes des autres. Une configuration d'un projet peut spécifier, par exemple, que le fichier de sortie associé doit être optimisé de façon à ce que la sortie binaire occupe le moins d'espace possible, alors que la configuration d'un autre projet peut spécifier que le projet doit être optimisé de sorte que le fichier exécutable associé s'exécute à la vitesse la plus élevée.

Les configurations de projet ne sont pas enregistrées par utilisateur, mais par solution afin qu'elles puissent être partagées au sein d'une équipe de développement. Bien que les dépendances d'un projet ne soient pas liées à la configuration, seuls les projets spécifiés dans la configuration de solution active seront générés.

Modification des configurations de solutions

Lorsque vous générez une solution, Visual Studio utilise la configuration de solution active, qui spécifie les configurations de projet à utiliser pour chaque projet à générer. Vous pouvez modifier la configuration active soit à partir de la liste déroulante Configurations de solutions de la barre d'outils standard, soit dans la boîte de dialogue Gestionnaire de configurations, boîte de dialogue.

Remarque :

Si vous ne trouvez pas de paramètres de configuration de solution dans la barre d'outils Standard ou ne pouvez pas accéder au Gestionnaire de configurations, vous pouvez faire appliquer les paramètres développeur de Visual Basic. Pour plus d'informations, consultez Comment : gérer des configurations de génération en appliquant les paramètres du développeur Visual Basic.

Comment l'IDE assigne les configurations des projets à générer

Lorsque vous créez une nouvelle configuration de solution (au lieu d'en copier une existante), l'environnement IDE détermine les configurations par défaut pour les projets qu'il va générer, en se fondant sur les critères de sélection suivants (évalués pour chaque projet dans cet ordre) :

  1. La nouvelle configuration de solution va générer une configuration de projet ayant exactement le même nom. Les noms de configurations ne respectent pas la casse.

  2. Si aucun nom ne correspond exactement au nom de configuration complet, la nouvelle configuration de solution va générer une configuration de projet dont une partie du nom contient un nom de configuration identique au sien, même si l'autre partie du nom indique une plate-forme différente. (La convention d'affectation des noms est <configuration name> <platform-name>.)

  3. Si aucun nom ne correspond en partie au nom de configuration, la nouvelle configuration de génération de solution va générer la première configuration définie pour un projet.

Comment l'IDE assigne les configurations de solutions

Lorsque vous créez une configuration de projet en activant la case à cocher Créer des configurations de solutions, l'environnement IDE recherche une configuration de solution du même nom afin de générer le projet sur chaque plate-forme prise en charge. Selon les cas, l'environnement IDE renomme des configurations de solutions existantes ou en crée de nouvelles.

L'environnement IDE détermine l'assignation des configurations de solutions en se fondant sur les critères de sélection suivants :

  • Si une configuration de projet ne spécifie aucune plate-forme ou qu'elle indique une seule plate-forme, une configuration de solution portant le même nom que la nouvelle configuration de projet sera utilisée si elle existe déjà, ou ajoutée dans le cas contraire. Si une configuration de solution par défaut est ajoutée, son nom complet est <project configuration name>, c'est-à-dire que le nom de la plate-forme n'est pas indiqué.

  • Si un projet prend en charge plusieurs plates-formes, une configuration de solution est recherchée ou ajoutée pour chaque configuration de projet, en vue de générer chacun des projets sur chaque plate-forme prise en charge. Le nom de chaque configuration de solution comporte le nom de la configuration de projet et celui de la plate-forme : <project configuration name> <platform name>.

Voir aussi

Concepts

Projets en tant que conteneurs

Propriétés de projet

Référence

Gestionnaire de configurations, boîte de dialogue

Commutateurs de la ligne de commande de Devenv

Autres ressources

Génération dans Visual Studio

Référence à la génération C/C++