82 votes

Visual Studio : puis-je copier les propriétés d'un projet pour les utiliser dans un autre projet ?

J'ai ajouté plusieurs répertoires, des bibliothèques telles que matlab, opencv, etc. pour compiler mon fichier C actuel dans le projet Visual Studio.

Tous mes projets à venir nécessiteront la même configuration/les mêmes propriétés. Est-ce que je dois configurer les propriétés de chaque projet individuellement ou est-ce que je peux faire quelque chose pour les appliquer à tous ?

107voto

AaronMK Points 476

Essayez d'utiliser les feuilles de propriétés. Elles permettent de créer un fichier de propriétés unique dont peuvent hériter plusieurs projets.

  1. Utilisez "Affichage > Autres fenêtres > Gestionnaire de propriétés" pour faire apparaître le gestionnaire de propriétés. Il affichera vos projets et vos configurations.

  2. Cliquez avec le bouton droit de la souris sur une configuration et sélectionnez "Add New Project Property Sheet...". Vous pouvez lui donner un nom et choisir un emplacement qui convienne à tous vos projets.

  3. Une fois créée, vous pouvez modifier ses propriétés comme vous le feriez pour une configuration de construction.

  4. Pour utiliser cette feuille de propriétés comme base pour d'autres projets, il suffit de cliquer avec le bouton droit de la souris sur la configuration ou le projet et de sélectionner "Ajouter une feuille de propriétés existante...". Recherchez l'endroit où vous avez enregistré la feuille originale, et elle sera héritée.

Toute modification apportée à la feuille d'origine sera appliquée à tout projet qui en hérite, à moins qu'elle ne soit remplacée. Si vous allez dans les propriétés plus haut dans la chaîne, les propriétés qui sont remplacées auront des caractères gras pour leurs valeurs. Pour qu'elles utilisent toujours la valeur de la feuille de base, une option "hériter des valeurs par défaut du parent ou du projet" sera disponible le cas échéant.

8 votes

Quelle est la version de VS pour laquelle cette solution est pertinente ? Je n'arrive pas à la faire fonctionner pour VS-2008... Est-ce que j'ai raté quelque chose ?

24 votes

Existe-t-il une méthode pour générer automatiquement une fiche de propriété à partir d'un projet en cours qui a configuré toutes les configurations requises ? Je ne veux pas ajouter manuellement chaque propriété à la feuille de propriétés à nouveau.

0 votes

Il semble que cela ne fonctionne que pour le C++, pas pour le fortran. Pour le projet fortran, le "property manager" est vide.

4voto

hmijail Points 40

J'utilise AtmelStudio 6.1, qui est construit sur Visual Studio 2010 (je crois), et pourtant il n'y a pas de Property Manager que je puisse trouver. Donc, le système hackish que j'utilise est :

  1. fermer (ou au moins décharger via le menu contextuel) le projet dont vous souhaitez modifier la configuration

  2. ouvrir son fichier .cproj (qui est un fichier XML) dans n'importe quel éditeur de texte (VS fonctionne très bien),

  3. FAIRE UNE COPIE DE SAUVEGARDE À UN AUTRE ENDROIT, AU CAS OÙ,

  4. ouvrez le fichier .cproj du projet dont vous souhaitez copier les données de configuration,

  5. rechercher les données de configuration souhaitées. Les configurations se trouvent à l'intérieur des balises PropertyGroup ; par exemple, dans mon cas, elles se présentent comme suit

    <PropertyGroup Condition=" '$(Configuration)' == 'Preprocess only' "> 

    pour la configuration nommée "Preprocess only". Copier du début de cette balise jusqu'à la fin de la balise

    </PropertyGroup> 

    étiquette.

  6. Collez le bloc dans le fichier .cproj de destination, juste après d'autres blocs de données.

    </PropertyGroup>

    tag. Veillez à ce que le nom de la configuration soit unique dans ce fichier. Sauvegarder.

Vous avez terminé. Ouvrez maintenant le projet normalement dans VS et vous pourrez sélectionner la configuration ajoutée.

3voto

Nik-Lz Points 1245

Pour le MSVS 2017, le processus mentionné par @AaronMK ne fonctionne pas. Il faut plutôt faire ce qui suit :

  1. Affichage -> Autres fenêtres -> Gestionnaire de propriétés
  2. Ajouter une nouvelle fiche de propriété.
  3. Modifiez les options que vous souhaitez.
  4. Donnez-lui un nom approprié pour que vous vous en souveniez.
  5. Cliquez sur le bouton droit de la souris et cliquez sur "Enregistrer {myPropertySheet}".
  6. Il serait judicieux de la placer à côté des fiches de propriétés par défaut et de pouvoir l'ajouter quand vous le souhaitez (par Property Manager -> Add Existing Property Sheet -> Browse to its location). Ce répertoire est le suivant : C:\Users\{myUsername}\AppData\Local\Microsoft\MSBuild\v4.0

Vous pouvez également modifier les feuilles de propriétés par défaut et les utiliser par défaut. Je ne vous le conseille pas, car elles offrent une option de repli en cas de problème. Faites donc des sauvegardes avant de modifier les fichiers par défaut.

2voto

MrPickles7 Points 584

Pour Visual Studio 2010+, vous pouvez créer un Modèle de projet .

Si vous choisissez d'ajouter automatiquement le modèle à Visual Studio dans l'assistant de création de modèle, lorsque vous créez/ajoutez un nouveau projet, le modèle apparaîtra (après avoir redémarré Visual Studio). Les projets créés avec ce modèle auront les mêmes propriétés !

Pour ajouter des fichiers de code source au modèle, le plus simple est de réorganiser les fichiers de code source dans l'explorateur de solutions pour qu'ils se trouvent à la racine (et non dans un autre dossier). Ensuite, générez le modèle.

Pourquoi ? Parfois, le fait de placer vos fichiers dans le dossier par défaut Source Code solution-explorer (pas dans l'explorateur de fichiers, l'étiquette .project.filters) ne permet pas de copier le fichier source dans le modèle, vous verrez "le document ne peut pas être ouvert. il a été renommé, supprimé ou déplacé" lorsque vous essayez d'utiliser le modèle et le fichier que vous vouliez dans le modèle ne se trouvera PAS dans l'explorateur de fichiers.

Si vous voulez des dossiers de l'explorateur de solutions, vous devrez les ajouter manuellement au modèle en décompressant le dossier du modèle, en y apportant des modifications, puis en le décompressant à nouveau.

Par exemple, copiez et collez littéralement les fichiers sources que vous voulez que le modèle ait dans le dossier du modèle et éditez le fichier .vstemplate. Doc M$ sur l'édition de modèles .

<TemplateContent>
<!-- put new file references here and/or in your .vcxproj .vcxproj.filters --> 
 TargetFileName="HelloWorld.cl">HelloWorld.cl</ProjectItem>
      <ProjectItem ReplaceParameters="false" 
</TemplateContent>

Questions connexes :

Comment utiliser le modèle VS que j'ai créé ?

Comment charger un modèle que j'ai créé dans Visual Studio ?

Comment copier un projet visual studio ?

Le simple copier-coller de projets et de solutions entiers n'est pas recommandé pour les projets complexes ou partagés, car les différents GUID et noms de fichiers peuvent se chevaucher et provoquer des bogues.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X