Comment renommer un dossier de projet à partir de Visual Studio?
Ma solution actuelle pour renommer le dossier du projet est:
- supprime le projet de la solution.
- renommez le dossier en dehors de Visual Studio.
- Ajoutez à nouveau le projet à la solution.
Y a-t-il un meilleur moyen?
30 réponses
utilisateurs TFS: Si vous utilisez le contrôle de code source qui vous oblige à avertir avant votre renommer des fichiers/dossiers, alors regardez cette réponse à la place qui couvre les étapes supplémentaires nécessaires.
Pour renommer un projet de dossier, fichier (.*proj
) et nom d'affichage dans visual studio:
- fermez la solution.
- renommez le(S) dossier (s) en dehors de Visual Studio. (Renommer dans TFS si vous utilisez la source de contrôle)
- ouvrez la solution en ignorant les Avertissements (répondez " non " si vous êtes invité à charger un projet à partir du contrôle de source).
- passez en revue tous les projetsindisponibles et...
- ouvrez la fenêtre properties pour le projet (mettez en surbrillance le projet et appuyez sur Alt+entrez ou F4 , ou cliquez avec le bouton droit sur > Propriétés).
- définissez la propriété ' Chemin du fichier ' sur le nouvel emplacement.
- Si la propriété n'est pas modifiable (comme dans VS2012), puis ouvrez le fichier
.sln
directement dans un autre éditeur tel que Notepad++ et mettez à jour les chemins à la place. (Vous devrez peut-être vérifier la solution d'abord dans TFS, etc.)
- Si la propriété n'est pas modifiable (comme dans VS2012), puis ouvrez le fichier
- recharger {[14] } le projet-cliquez avec le bouton droit sur > recharger le projet.
- Modifier le nom d'affichage du projet, en le mettant en surbrillance et en appuyant sur F2, ou clic-droit > renommer.
Note: {[14] } autres solutions suggérées qui impliquent supprimer, puis ré-ajouter le projet à la solution va casser les références de projet.
Si vous effectuez ces étapes, vous pouvez également envisager de renommer les éléments suivants pour correspondre:
- Assemblée
- Espace De Noms Par Défaut/Racine
- espace de noms des fichiers existants (utilisez les outils refactor dans Visual Studio ou l'outil inconsistent namespaces de ReSharper)
Pensez également à modifier les valeurs de l'assemblage suivant attributs:
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
Vous voudrez peut-être voter pour que L'équipe de Visual Studio automatise cette procédure .
Il y a une autre façon de le faire, en utilisant le *.sol, * fichiers csproj.
- , ouvrez votre fichier de solution
- recherchez le *.csproj vous souhaitez changer
-
Ce sera comme ceci (par rapport au *.fichier sol):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
-
Et il suffit de changer la première partie de la nouvelle diretory par exemple:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Bien sûr n'oubliez pas de déplacer tout le projet vers cela répertoire
Amusez-vous.
C'est simple dans VS 2015 (éventuellement œuvres dans les anciennes versions)
- dans L'Explorateur de solutions, faites un clic droit sur
Main solution > Rename
- dans L'Explorateur de solutions, faites un clic droit sur
project (under solution) > Rename
- dans L'Explorateur de solutions, double-cliquez ou faites un clic droit sur
Properties >
Aller à L'onglet Application, renommezAssembly name
etDefault namespace
pour correspondre. - Si vous souhaitez également renommer l'espace de noms, Ouvrez l'un de vos fichiers de classe. Faites un clic droit sur
namespace > Rename...
cela devrait rechercher et remplacer toutes les références à votre espace de noms tout au long du projet. - fermez le projet > renommez le
project folder
. - éditez le fichier
.sln
dans le bloc-notes, modifiez le chemin d'accès au cjproj. iefu\bar.csproj --> bar\bar.csproj
Mec, ai-je lutté avec ça. Malheureusement, il n'y a pas de solution en un clic dans Visual Studio, mais si vous exécutez Visual Studio 2012 et que votre projet est sous contrôle de source avec Team Foundation Server , Voici comment je l'ai fait fonctionner, tout en gardant l'historique des sources:
(Assurez-vous de lire le commentaire de @mjv ci-dessous, car il note que vous pouvez sauter l'étape 5-10)
- assurez - vous d'avoir vérifié toutes les modifications, de sorte que vous n'avez pas d'attente changement.
- supprimez le projet de la solution en cliquant avec le bouton droit de la souris et en sélectionnant Remove .
- Maintenant, dans l'Explorateur Windows, renommez le dossier du projet.
- revenez à Visual Studio, et dans l'Explorateur de solutions, cliquez-droit sur la solution et choisir Ajouter -> projet Existant. Sélectionnez le fichier de projet pour le projet que vous avez supprimé à l'étape 2, qui doit être situé dans le dossier renommé.
- le projet est Maintenant de retour dans la solution, mais le projet ne semble pas être ajouté au contrôle de la source. Pour résoudre ce problème, ouvrez L'Explorateur de contrôle de Source.
- trouvez le dossier de projet dans L'Explorateur de contrôle de Source, qui correspond au dossier de projet sur votre disque, que vous avez renommé à l'étape 3.
- renommez le dossier dans L'Explorateur de contrôle de Source, de sorte qu'il porte le même nom que le dossier de projet sur le disque.
- Maintenant, jetez un oeil à vos modifications en attente. Vous devriez avoir des modifications au fichier de solution et une opération de renommage sur le projet dossier.
- Faites une reconstruction et assurez-vous que tout compile correctement. Si vous aviez des références inter-projets au projet que vous avez renommé, vous devez les ajouter à nouveau aux projets individuels qui l'ont référencé.
- Vous devriez être prêt maintenant. Aller vérifier tout cela.
Le guide ci-dessus a fonctionné pour moi. Si cela ne fonctionne pas pour vous, essayez de supprimer complètement votre solution locale et supprimez le mappage de dossiers dans votre espace de travail. Redémarrez Visual Studio juste au cas où. Faire bien sûr, vous avez effectivement supprimé toute la solution de votre ordinateur. Maintenant, lisez le mappage de solution dans votre espace de travail et obtenez la dernière version. Maintenant, essayez les étapes ci-dessus. La même chose s'applique si quelque chose ne va pas tout en suivant les étapes ci-dessus. Supprimez simplement votre solution localement et obtenez la dernière source, et vous aurez une table rase pour travailler avec.
Si vous rencontrez toujours des problèmes, assurez-vous que vous n'avez rien changé manuellement dans le fichier de solution, ou essayer d'autres 'astuces' avant essayez les étapes ci-dessus. Si vous avez changé quelque chose et l'avez vérifié, vous voudrez peut-être envisager de faire une restauration au point juste avant de commencer à jouer avec le renommage du projet.
Bien sûr, vous souhaitez également renommer le projet lui-même, dans L'Explorateur de solutions. Vous pouvez le faire avant les étapes ci-dessus, mais dans ce cas, assurez-vous de vérifier le changement avant d'appliquer la procédure ci-dessus. Vous pouvez également le faire après, mais assurez-vous de suivre toutes les étapes ci-dessus en premier, et vérifiez vos modifications avant d'essayer de renommer le nom du projet dans l'Explorateur de solutions. Je ne recommande pas d'essayer de mélanger les étapes ci-dessus avec un renommage du nom du projet dans L'Explorateur de solutions. Cela pourrait fonctionner cependant, mais je recommanderais de le faire dans 2 changesets séparés.
Actuellement, non. Eh bien, en fait, vous pouvez cliquer sur le nœud de projet brisé et dans le volet Propriétés recherchez la propriété 'Path', puis cliquez sur la petite icône de navigation et sélectionnez le nouveau chemin.
Voilà :)
La solution La plus simple est la suivante:
- Cliquez avec le bouton droit sur le projet et renommez-le.
- (facultatif) ouvrez les paramètres de propriété du projet et modifiez le nom de l'assembly (et éventuellement l'espace de noms par défaut) pour utiliser le nouveau nom du projet.
- (facultatif) sélectionnez le nom de l'espace de noms dans un fichier source, faites un clic droit et sélectionnez Refactor \ Rename pour renommer globalement l'espace de noms en nouveau nom de projet.
- (facultatif) ouvrez AssemblyInfo.fichier cs et changer le nom de l'assembly correspondre.
- Enregistrez et fermez la solution.
- à L'aide de L'Explorateur Windows, renommez le dossier du projet sous le nouveau nom.
- Ouvrez le fichier SLN dans un éditeur de texte et trouvez la référence au chemin du projet et modifiez-le pour utiliser le nouveau nom de dossier.
Il y a 4 étapes nécessaires mais 7 recommandées. À la fin de la journée, le projet est renommé complètement. Techniquement, le nom du dossier du projet ne doit pas correspondre au projet lui-même, donc même cette étape est facultatif, mais cela peut être déroutant s'ils ne correspondent pas. Idem pour les noms d'assembly et d'espace de noms.
Dans la réponse d'andersjanmyr, il est plus facile de renommer le projet en premier.
- renommer le projet.
- fermez la solution (enregistrez-la).
- renommez les dossiers en dehors de Visual Studio.
- Ouvrez la solution en ignorant les Avertissements.
- parcourez tous les projets indisponibles et définissez la propriété 'File Path' sur le nouvel emplacement de votre fichier de projet, c'est-à-dire someproject.csproj.
- rechargez le projet.
Aussi, après que ces étapes sont effectuées, vous voudrez peut-être pour renommer d'autres références à votre ancien nom du projet.
Dans Propriétés du projet, mettez à jour le nom de L'Assembly et L'espace de noms par défaut. Cela mettra à jour les éléments suivants dans le fichier de projet...
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
...et va se débarrasser de l'erreur "Namespace ne correspond pas à l'emplacement du fichier, devrait être: 'SomeProjectName' "
Renommez votre espace de noms racine (si vous avez resharper faites un clic droit sur L'espace de noms et allez Refactor - > renommer).
Change toutes les occurrences de votre ancien nom de projet AssemblyInfo.cs
Pour VS2017, vous pouvez utiliser mon extension visual studio
Il va renommer le projet dans:
- dossier d'emplacement du projet
- fichier de solution
- référence dans d'autres projets
- Nom de l'assemblage, Informations
- espace de noms par défaut
Je devais juste le faire moi-même (en utilisant VS2010). Comme certaines personnes ont répondu, l'étape la plus simple semble être:
- Fermez le projet VS.
- Ouvrez le .fichier sln et renommer le préfixe de répertoire du projet pour chacun des .occurrences csproj.
- Enregistrer le .fichier sln
- renommez le répertoire du dossier de projet réel sur votre disque dur pour correspondre à vos modifications .la sln fichier.
- Ouvrez le .sln (dans VS) et reconstruire
Voir le point 3 dans l'article lié.
- fermez la solution et L'IDE.
- dans L'Explorateur: remplacez le nom du répertoire par le nouveau nom.
- dans L'Explorateur: ouvrez le .fichier sln avec un éditeur de texte.
- remplacez le nom du répertoire par le nouveau nom et enregistrez-le.
- redémarrez L'IDE et ouvrez la solution à partir du menu Fichier, Fichiers récents s'il ne démarre pas automatiquement.
- Cliquez sur le dossier Projet de L'Explorateur de solutions et vérifiez le chemin propriété dans les propriétés en bas. Il fera maintenant référence au nouveau dossier de projet.
Ça a marché pour moi.
Solution éprouvée pour L'extension Visual Studio pour les outils de données pour la Business Intelligence (SSDT-BI 2013):
- déplace le dossier du projet vers son nouvel emplacement (NE renommez rien pour l'instant)
- dans L'Explorateur de solutions, renommez le projet / la Solution.
- Fermez (et enregistrez) le projet nouvellement renommé.
- renommez le dossier du projet et .la sln fichier.
- Utilisez un éditeur de texte et ouvrez le fichier de solution de projet nouvellement renommé (.sln) (j'ai utilisé Notepad++)
- dans la ligne numéro 6 vous verrez: "projet {Fdjfksdjk4387!...} = "OLDPROJECT", " OLDFOLDER\OLDPROJECT.rptproj". Renommez tout avec les nouveaux noms utilisés à l'étape 4. (c'est à dire ... = "NEWPROJECT", " NEWFOLDER\NEWPROJECT.rptproj"... )
- C'est ça!
Testé à 100% et travaillé parfaitement sur mon cas.
Remarque: impossible de confirmer si cela fonctionne sous différents modèles de projet a / o versions de Visual Studio. Comme toujours, faites tout sauvegarder à l'avance.
La Solution de @ andersjanmyr: vous pouvez appuyer sur Alt + Entrée pour afficher la page des propriétés du projet indisponible et y définir la propriété" File Path"; car elle n'est pas disponible dans le menu droit-click_context du projet indisponible (dans VS2008).
J'ai écrit un petit outil qui automatise toutes ces étapes. Prend également en charge subversion pour l'instant.
Des informations sur les versions actuelles peuvent être trouvées ici Visual Studio Project Renamer Infos
Les dernières versions peuvent maintenant être téléchargées depuis la page de téléchargement Visual Studio Project Renamer
Les commentaires sont très appréciés.
NOTE: Ce correctif est pour Visual Studio 2008, mais devrait fonctionner ici.
- à l'aide de L'Explorateur Windows, renommez les dossiers de la solution (le dossier parent et le dossier enfant) avec le nouveau nom de la solution.
- supprimez le fichier
.sln
situé dans le dossier parent. - Dans Visual Studio, sélectionnez Fichier / Ouvrir le projet.
- Explorez le nouveau dossier que vous venez de renommer et ouvrez le .fichier csproj (situé dans le dossier enfant).
- cliquez avec le bouton droit sur le nom du projet et renommez-le en quoi vous voulez. (Devrait être le même nom que le dossier à l'étape 1.)
- Sélectionnez Fichier / Fermer La Solution. Une boîte de dialogue vous demandera si vous souhaitez enregistrer les modifications dans le fichier
.sln
. Cliquez Sur Oui. - dans la boîte de dialogue Enregistrer le fichier sous, pointez sur le dossier PARENT nouvellement renommé et cliquez sur Enregistrer.
(Remarque: Assurez-vous que le fichier
.sln
porte le même nom que le dossier. Pas nécessaire, mais maintient la cohérence.)
Fait.
Lors de l'utilisation de TFS, l'étape 2 consiste en fait à renommer le dossier dans le contrôle de source, puis à obtenir le dernier avant de rouvrir la solution.
Nous avons récemment téléchargé une version bêta D'une extension VS gratuite qui fait ce genre de choses pour vous. Regarder VS Galerie: Galerie Télécharger
Eh bien, je l'ai fait à ma façon
- Fermer Visual Studio 2012
- renommez votre sous-répertoire en nom préféré sous .la sln
- Supprimer *.fichier suo
- Ouvrez à nouveau la solution, corrigez toutes les propriétés du(DES) projet (s) chargé (s) pour répondre au nouveau nom de sous-répertoire
Bien que cette question ait déjà été répondue, je voulais partager mon approche pour résoudre ce problème. J'ai souvent eu le même problème de renommer un projet dans VS et d'éditer le nom du dossier, le nom du projet et .fichier sln afin d'accomplir cela. Je viens d'écrire un VBScript qui accomplit tout cela. Vous devez être prudent avec les chaînes que vous choisissez pour le remplacement.
EDIT: il vous suffit de mettre le .vbs fichier dans le même répertoire que le .fichier sln de la solution.
'Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
'Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
'Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
'Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
Pour ceux qui utilisent Visual Studio + git et qui veulent conserver l'historique des fichiers (renommer les projets et/ou les solutions):
1) Fermer Visual Studio
2) dans .fichier GITIGNORE dupliquer tous ignorer les chemins du projet que vous souhaitez renommer avec des versions renommées de ces chemins.
3) Utilisez la commande git move comme ceci:
git mv <old_folder_name> <new_folder_name>
Voir la documentation pour des options supplémentaires: https://git-scm.com/docs/git-mv
4) dans votre .fichier sln: trouvez la ligne définissant votre projetez et modifiez le nom du dossier dans path. La ligne devrait ressembler à quelque chose comme:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
5) ouvrez Visual Studio, faites un clic droit sur projet - > renommer
6) renommez ensuite les espaces de noms. J'ai lu que resharper a quelques options pour cela. Mais simple rechercher/remplacer a fait le travail pour moi.
7) supprimer Vieux .chemins gitignore
Après avoir changé le nom du dossier, ouvrez le .fichier sln dans le bloc-notes et changer le chemin à nouveau chemin.
Des problèmes similaires surviennent lorsqu'un nouveau projet doit être créé et que vous souhaitez un nom de dossier de projet différent de celui du projet.
Lorsque vous créez un nouveau projet, il est stocké à
./path/to/pro/ject/YourProject/YourProject.**proj
Supposons que vous vouliez l'avoir directement dans le ject
dossier:
./path/to/pro/ject/YourProject.**proj
Ma solution de contournement pour accomplir ceci est de créer le projet avec la dernière partie du chemin comme nom, de sorte qu'il ne crée pas un répertoire supplémentaire:
./path/to/pro/ject/ject.**proj
Lorsque vous renommez le projet depuis Visual Studio, vous atteignez L'objectif sans avoir à quitter VS:
./path/to/pro/ject/YourProject.**proj
L'inconvénient de cette approche est que vous devez également ajuster l'espace de noms par défaut et le nom du binaire de sortie, et que vous devez mettre à jour les espaces de noms dans tous les fichiers inclus dans le modèle de projet.
J'utilise VS 2013 et TFS 2013.
Je l'ai fait comme ceci:
- ouvrez Visual Studio, sans ouvrir la solution elle-même, et utilisez L'Explorateur de contrôle de Source pour rechercher et renommer les dossiers des projets
- double-cliquez sur fichier de solution dans L'Explorateur de contrôle de Source pour ouvrir une solution.
- vous obtenez une question: "des projets ont récemment été ajoutés à cette solution. Voulez-vous les obtenir du contrôle de la source?", et vous choisissez Oui
- Maintenant, le dossier et la structure du projet sont là, mais maintenant les fichiers, alors maintenant vous obtenez la dernière Version du contrôle de source
- essayez de construire et de valider les modifications.
Il existe une approche plus simple qui a été testée dans VS 2013 Update 1 et applicable aux projets connectés à TFS:
- Ouvrez VS mais laissez la solution fermée
- Ouvrez L'Explorateur Source et renommez le dossier souhaité (la solution sera fermée pour vous si vous ne l'avez pas déjà fermée en premier)
- Faites un clic droit sur la solution (à partir de L'Explorateur Source également) et sélectionnez check-in
- Ouvrez la solution, vous aurez dit qu'il y a de nouveaux projets ajoutés, acceptez pour obtenir le changement.
- supprimez le projet de la solution et ajoutez-le à nouveau, puis enregistrez
- Vérifiez que les références internes sont correctes
Le plus simple est d'aller à la propriété de la fenêtre changer le nom des espaces de noms par défaut puis le renommage est fait
1-renommer le projet en dehors de VS. 2-Modifier votre_project_name.sln avec un éditeur de texte, renommez le chemin vers le nouveau chemin
J'ai fait ce qui suit:
-
Renommez le projet depuis vs2013. (facultatif / non nécessaire)
Exportez le projet en tant que modèle.
Fermez la solution.
Rouvrir la solution
Créez un projet à partir du modèle enregistré et utilisez le nom que vous aimez.
Supprimez de l'Explorateur de solutions le projet précédent.
dans ce point, j'ai essayé de compiler le nouveau solution et pour ce faire j'ai dû copier manuellement des ressources et des en-têtes pour le nouveau dossier de projet de l'ancien dossier de projet. Faites ceci jusqu'à ce qu'il compile sans erreurs. Maintenant, ce nouveau projet a sauvé le " .exe" fichier dans le dossier précédent.*
, Donc ->
Accédez à l'Explorateur windows et copiez manuellement le fichier de solution de l'ancien dossier de projet dans le nouveau dossier de projet.
Fermez la solution et ouvrez la solution depuis le nouveau projet.
Modification de la configuration à (x64) si nécessaire.
Supprimer le dossier du projet avec l'ancien nom du dossier de la solution.
Renommer le projet en solution dans le dossier du projet
Supprimer un projet de la solution
Ajouter un projet existant à la solution(renommé projet)
Ça marche pour moi. TFS suivra également le nouveau projet.
Ce qui a fonctionné pour moi en 2017:
- fermer la solution VS
- renommé répertoire des projets en solution.
- (pousser le changement dans le contrôle de la source-git dans mon cas)
- modifier le fichier sln dans l'éditeur de texte (en dehors de VS2017) en changeant le nom du répertoire.
- rouvrir la solution dans VS
Il a dit quelque chose comme "projet de Ré-ajout ", j'ai tout reconstruit et tout était bon pour aller.
Ou simplement,
Copiez tous les codes puis ouvrez un nouveau projet avec le nom souhaité et collez le code. Exécutez debug, puis supprimez le projet précédent. Fait!
Ça a marché pour moi!
Cliquez avec le bouton droit sur Projet > Propriétés> & définir (nom) sur le nom requis