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


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

Si je "Ajouter un fichier existant" sur un dossier nommé Services et accédez à un fichier dans la structure de répertoires .. Services> AccountManagement> CreateAccount.cs, il apparaît dans Visual Studio comme suit: Services> CreateAccount.cs. Je ne veux pas ça.

J'ai déjà une structure de répertoires complète, car j'imite nos développeurs clients en utilisant 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 la plupart des utilisateurs de Microsoft font et «supporter» et recréer chaque dossier via Visual Studio?


601
2017-12-25 03:17


origine


Réponses:


Vous devez mettre votre structure de répertoire dans votre répertoire de projet. Et puis cliquez sur "Afficher tous les fichiers" icône dans la partie supérieure de la boîte à outils de l'Explorateur de solutions. Après cela, le répertoire ajouté sera affiché. Vous devrez ensuite sélectionner ce répertoire, faites un clic droit, et choisissez "Inclure dans le projet".

enter image description here

enter image description here


1055
2017-12-25 03:25



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


55
2017-12-25 03:48



Copier coller.

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

  1. Faites un clic droit dans l'explorateur Windows sur le dossier, et Copiez sur le dossier avec de nombreux fichiers et dossiers.

  2. Ensuite, dans l'explorateur de solution Visual Studio, cliquez avec le bouton droit sur le dossier de destination et cliquez sur Coller.

  3. Ajout facultatif à TFS; Ensuite, dans le dossier supérieur, cliquez avec le bouton droit et vérifiez dans TFS pour archiver tous les sous-dossiers et fichiers.


25
2018-06-25 14:38



Dans Visual Studio 2015, voici comment vous le faites.

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

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

Cela 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" >

Référence: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio


23
2018-02-25 16:18



Vous pouvez utiliser un lien symbolique. Cela fait modifier le fichier dans un projet le modifier dans l'autre (comme c'est en fait le même fichier).

Pour faire ça:

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

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

Edit 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 va maintenant apparaître dans votre projet ... faites un clic droit et choisissez Inclure dans le projet.

Ce sont les étapes que je suis et travaille pour un couple de projets différents.


13
2017-10-23 21:24



Pour développer La réponse de Yuchen, vous pouvez inclure des fichiers et des chemins en tant que lien. Ce n'est pas la même chose que d'ajouter les éléments existants, car cela ne fait pas de copie supplémentaire dans la structure des dossiers de votre projet. C'est utile si vous voulez qu'un dossier / fichier canonique soit utilisé dans beaucoup d'endroits différents mais vous voulez seulement en conserver une version / copie.

Voici un exemple de ce que vous pouvez ajouter à un *.csproj fichier pour créer le lien

<Compile Include="$(Codez)\z.Libraries\Common\Strings\RegexExtensions.cs">
    <Link>Helpers\RegexExtensions.cs</Link>
</Compile>

<Compile Include="..\..\z.Libraries\MoreLINQ\MoreLinq\ExceptBy.cs">
    <Link>Helpers\ExceptBy.cs</Link>
</Compile>

<Content Include="C:\Codez\Libs\Folder\OtherFolder\**\*.*">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

$(Codez) est une variable d'environnement Windows que j'ai définie, vous pouvez utiliser les variables d'environnement intégrées de la même manière.

Le dernier exemple de groupe est un ensemble de fichiers de contenu dont j'ai besoin dans la sortie finale. Voir https://stackoverflow.com/a/11808911/492 et d'autres réponses et liens pour en savoir plus.

Plus d'informations MSBuild sur https://msdn.microsoft.com/en-us/library/bb629388.aspx


3
2017-08-21 23:30



Dans Visual Studio 2017, vous basculez entre Solution View et Vue de dossier d'avant en arrière. Je pense que c'est une meilleure option, car cela gardera la solution plus propre. Je l'utilise pour éditer les fichiers .gitignore, .md, etc.

Solution View and Folder View


2
2018-03-14 14:06



Dans Visual Studio 2013, je ne pouvais pas obtenir "Inclure dans le projet" pour travailler lorsque vous cliquez avec le bouton droit sur un dossier. Qu'est-ce que le travail est l'expansion du dossier, en sélectionnant tous les fichiers, puis en choisissant "Inclure dans le projet". C'était assez fastidieux car vous devez faire chaque dossier un par un (mais au moins vous pouvez faire tous les fichiers dans chaque dossier en une fois), et il semble stocker le chemin du fichier (vous pouvez le voir en affichant les propriétés sur le fichier et en regardant l'option "Chemin relatif".)

J'espère utiliser ceci pour déployer des fichiers de données dans un projet Visual Studio Installer, et il semble ramasser les fichiers inclus et préserver leurs chemins.


1
2018-01-17 15:06



Pour autant que je sache, la seule façon de faire cela dans VS2010 s'apparente à la méthode glisser-déposer. Cliquez avec le bouton droit sur la solution à laquelle vous souhaitez ajouter un projet. Le menu de l'application aura un élément add ... En ouvrant cela, vous trouvez 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 pour la solution et sélectionnez-le. Dans le cadre de l'importation de ce fichier de projet, VS importera également le répertoire entier et j'assumerai 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 impossible d'importer une arborescence de répertoires tant que cette arborescence n'aura pas été convertie en projet.


0
2018-04-29 20:04