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

1564voto

Gant Points 9920

Vous devez placer votre structure de répertoire dans le répertoire de votre projet. Ensuite, cliquez sur l'icône "Show All Files" en haut de la boîte à outils de l'explorateur de solutions. Après cela, le répertoire ajouté s'affichera. Vous devrez alors sélectionner ce répertoire, faire un clic droit, et choisir "Inclure dans le projet".

enter image description here

enter image description here

185 votes

Y a-t-il un moyen de faire cela avec un répertoire (arbre) ? à l'extérieur de du répertoire du projet ?

4 votes

Existe-t-il un moyen de faire cela pour un dossier qui n'est PAS un sous-répertoire de l'endroit où se trouve votre projet ? par exemple : Avoir E:\ProjectX\project.vcproj inclure le dossier E:\Common *.cs ? ?

4 votes

Cela fonctionne presque. Je peux voir l'arborescence du répertoire et ajouter plusieurs fichiers, mais je ne peux pas ajouter un répertoire entier, y compris les sous-arbres.

90voto

Todd Smith Points 8297

Vous pouvez également faire glisser et déposer le dossier depuis Explorateur Windows dans la fenêtre de votre solution Visual Studio.

17 votes

Cela ne fonctionne pas dans mon installation de VS 2010 sur Vista Ultimate 64 bit.

15 votes

Non, cela ne fonctionne pas non plus dans mon installation VS 2010 sur Windows 7.

11 votes

Je confirme que cela ne fonctionne pas non plus dans VS 2010 (mode non administrateur).

67voto

Yuchen Zhong Points 2600

Dans Visual Studio 2015, c'est ainsi qu'il faut procéder.

Si vous voulez inclure automatiquement tous les fichiers descendants sous un dossier spécifique :

<Content Include="Path\To\Folder\**" />

Ceci peut être restreint pour inclure uniquement les fichiers dans le chemin spécifié :

<Content Include="Path\To\Folder\*.*" />

Ou même seulement les fichiers avec une extension spécifiée :

<Content Include="Path\To\Folder\*.jpg" >

4 votes

J'ai trouvé cela utile car je pouvais alors inclure une seule balise pour "copier toujours à la construction", plutôt que de devoir annoter chaque fichier individuel (comme c'était le cas dans la réponse acceptée).

2 votes

C'est la meilleure solution lorsque vous voulez ajouter un grand dossier hiérarchique alors que Visual Studio ne répond pas et se bloque.

5 votes

Pour ceux qui cherchent où ajouter ceci, c'est le fichier .csproj fichier. Par exemple, Product.Feature.Web.csproj . Vous devrez ajouter quelque chose comme `<ItemGroup><Content Include="Path \To\Folder **" /></ItemGroup>.

34voto

Catto Points 756

Copier et coller .

Pour ajouter un dossier, tous les sous-répertoires et les fichiers, nous pouvons également copier et coller. Par exemple, nous pouvons :

  1. Cliquez avec le bouton droit de la souris dans l'explorateur Windows sur le dossier, et Copier sur le dossier contenant de nombreux fichiers et dossiers.

  2. Ensuite, dans l'explorateur de solutions Visual Studio, cliquez avec le bouton droit de la souris sur le dossier de destination et cliquez sur coller.

  3. Ajout facultatif à TFS ; ensuite, dans le dossier supérieur, faites un clic droit et vérifiez dans TFS pour vérifier tous les sous-dossiers et fichiers.

0 votes

Cela a fonctionné pour moi mais le glisser-déposer n'a pas fonctionné dans VS14 et Windows 10 pro.

1 votes

Le glisser-déposer peut ne pas fonctionner si vous n'exécutez pas VS en tant qu'administrateur.

20voto

Edyn Points 448

Vous pouvez utiliser un lien symbolique. Cela fait que la modification du fichier dans un projet le modifie dans l'autre (puisqu'il s'agit en fait du même fichier).

Pour ce faire :

  1. Ouvrez l'invite cmd en tant qu'administrateur
  2. mklink /d [nom du répertoire du projet actuel] [répertoire dans l'autre projet vers lequel il doit pointer].

Cela a ses inconvénients et ses pièges, mais je l'utilise à l'occasion pour les bibliothèques dupliquées qui ont besoin de noms différents.

Modifier pour Anoop : Étapes à ajouter à Visual Studio :

  1. Créez un lien dans le dossier du projet en suivant les étapes ci-dessus.
  2. Dans Visual Studio... sélectionnez le projet dans l'explorateur de solutions.
  3. En haut de l'explorateur de solutions... cliquez sur le bouton Afficher tous les fichiers (vous devrez peut-être cliquer deux fois dessus s'il est déjà actif).
  4. Le lien apparaîtra maintenant dans votre projet... cliquez avec le bouton droit de la souris et choisissez Inclure dans le projet.

Voici les étapes que je suis et qui fonctionnent pour quelques projets différents.

1 votes

Note : mklink ne fonctionnera pas sur un système de fichiers FAT. Il est destiné à NTFS.

0 votes

Le contrôle de la source fera des ravages avec les liens symboliques. Git a besoin de privilèges d'administrateur ou vérifie simplement dans le fichier.

0 votes

@CAD Pourriez-vous préciser ? J'ai tendance à éviter les liens symboliques, donc je n'ai pas essayé de les utiliser avec Git, mais je sais que l'installateur de Git mentionne le support des liens symboliques.

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