913 votes

Comment ajouter une arborescence de répertoires existante à un projet dans Visual Studio ?

Le problème est vraiment simple. Au lieu de créer des dossiers dans Visual Studio, je crée une structure de répertoires pour mon projet sur le système de fichiers. Comment puis-je inclure tous les dossiers et fichiers dans un projet en conservant la structure ?

Si je "Ajoute un fichier existant" sur un dossier nommé Services et que je navigue vers un fichier dans la structure du répertoire Services > AccountManagement > CreateAccount.cs, il apparaît dans Visual Studio comme suit : Services > CreateAccount.cs. Je ne veux pas de cela.

J'ai déjà mis au point toute une structure de répertoires, car j'imite les développeurs de nos clients qui utilisent la même structure pour l'organisation. Comment puis-je ajouter tous les dossiers et fichiers au projet dans Visual Studio ? Ou dois-je faire ce que font la plupart des utilisateurs de Microsoft, à savoir "faire avec" et recréer chaque dossier dans Visual Studio ?

0 votes

1voto

davidj Points 81

Je n'ai pas trouvé de réponse satisfaisante, alors je me suis débrouillé tout seul.

Voici la réponse à votre question si vous voulez ajouter des codes sources externes à votre projet et que vous ne voulez pas copier l'intégralité des codes. J'ai de nombreuses dépendances sur d'autres gits et elles sont mises à jour toutes les heures, voire toutes les minutes. Je ne peux pas faire une copie toutes les heures pour me synchroniser. Voici ce que vous devez faire.

Supposons qu'il s'agisse d'une structure :

/Root/projA/src

/Root/projA/includes

/Root/projB/src

/Root/projB/includes

/Root/votreProj/src

/Root/votreProj/includes

  1. Lancez votre solution VS.

  2. Cliquez avec le bouton droit de la souris sur le nom du projet, juste en dessous de la solution.

  3. Puis cliquez sur "Ajouter", "Nouveau filtre", mettez le nom "projA" pour projA.

  4. Cliquez à droite sur le "projA", cliquez sur "Ajouter", "Nouveau filtre", entrez le nom "src".

  5. Cliquez avec le bouton droit de la souris sur le "projA", cliquez sur "Ajouter", "Nouveau filtre", entrez le nom "includes".

  6. Faites un clic droit sur "projA"/"src", cliquez sur "Ajouter", "Elément existant", puis naviguez jusqu'au répertoire /Root/projA/src pour ajouter tous les codes sources ou un par un pour ceux que vous voulez.

  7. Faites de même pour "projA"/"inclus".

  8. Faites de même pour projB. Maintenant les projets externes/existants en dehors du vôtre sont présents dans votre solution/projet. Le VS va les compiler ensemble. Voici une astuce. Puisque le projA et le projB sont des dossiers virtuels sous votre projet, le compilateur peut ne pas trouver le projA/includes.

  9. S'il ne trouve pas le projA/includes, faites un clic droit sur le projet, sélectionnez "Propriétés".

  10. Naviguez vers "C/C++". Editez "Additional Include Directories", ajoutez votre projA/include comme tel "../projA/includes", chemin relatif.

Une mise en garde : s'il y a des fichiers include/header dupliqués, l'option "exclure du projet" sur le "fichier Header" ne fonctionne pas vraiment. C'est un bogue dans VS.

0voto

Fenton Smith Points 1

Pour autant que je sache, la seule façon de le faire dans VS2010 s'apparente à la méthode du glisser-déposer. Faites un clic droit sur la solution à laquelle vous voulez ajouter un projet. Le menu d'application aura un élément ajouter .... En l'ouvrant, vous trouverez que l'une des options est d'ajouter un projet existant à la solution.

Dans la boîte de dialogue qui s'ouvre, naviguez jusqu'au dossier contenant le fichier de projet de la solution et sélectionnez-le. VS va, dans le cadre de l'importation de ce fichier projet, également importer le répertoire entier et, je suppose, tous les répertoires subordonnés qui font partie de ce projet.

Comme cela nécessite un fichier de projet existant, il ne sera pas possible d'importer une arborescence de répertoires tant que cette arborescence n'aura pas été convertie en projet.

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