Comment renommer un dossier de projet à partir de Visual Studio?

688

Ma solution actuelle pour renommer le dossier du projet est:

  • Supprimez le projet de la solution.
  • Renommez le dossier en dehors de Visual Studio.
  • Ajoutez à nouveau le projet à la solution.

Y a-t-il une meilleure façon?

andersjanmyr
la source
4
Il n'y a pas de façon simple et en un clic de le faire. Pas depuis Visual Studio, en tout cas.
Matt Hanson
11
Est-ce que quelqu'un sait si Microsoft corrigera cela pour la version 2010?
Vidar
29
Apparemment non, puisque c'est 3 ans plus tard et je n'ai eu qu'à suivre le processus d'Andersjanmyr. :)
sichinumi
4
Demande de fonctionnalité Visual Studio: visualstudio.uservoice.com/forums/121579-visual-studio/… allez voter!
Tim Abell
2
Apparemment, le vote a échoué car la fonctionnalité n'est toujours pas prise en charge en 2018. Combien de gigaoctets faut-il pour ne pas modifier un fichier? 17gbs apparemment. 17.
Joseph Franciscus

Réponses:

748

Utilisateurs TFS: Si vous utilisez le contrôle de code source qui vous oblige à l'avertir avant de renommer vos fichiers / dossiers, regardez plutôt cette réponse qui couvre les étapes supplémentaires requises.


Pour renommer le dossier , le fichier ( .*proj) et le nom d'affichage d' un projet dans Visual Studio:

  • Fermez la solution.
  • Renommez le ou les dossiers en dehors de Visual Studio. (Renommer dans TFS si vous utilisez le contrôle de code source)
  • Ouvrez la solution, en ignorant les avertissements (répondez «non» si on vous demande de charger un projet à partir du contrôle de code source).
  • Parcourez tous les indisponibles projets et ...
    • Ouvrez la fenêtre des propriétés du projet (mettez le projet en surbrillance et appuyez sur Alt+ Enterou F4, ou cliquez avec le bouton droit sur> propriétés).
    • Définissez la propriété ' File Path ' sur le nouvel emplacement.
      • Si la propriété n'est pas modifiable (comme dans Visual Studio 2012), ouvrez le .slnfichier directement dans un autre éditeur tel que Notepad ++ et mettez à jour les chemins à la place. (Vous devrez peut-être d'abord extraire la solution dans TFS, etc.)
    • Recharger le projet - clic droit> recharger le projet.
    • Modifiez le nom d'affichage du projet, en le mettant en surbrillance et en appuyant sur F2, ou cliquez avec le bouton droit sur> renommer .

Remarque: D' autres solutions proposées nécessitant le retrait, puis ré-ajouter le projet à la solution de rompre les références du projet.

Si vous effectuez ces étapes, vous pouvez également envisager de renommer les éléments suivants pour qu'ils correspondent:

  1. Assemblée
  2. Espace de noms par défaut / racine
  3. Espace de noms des fichiers existants (utilisez les outils de refactorisation dans Visual Studio ou l' outil d'espaces de noms incohérents de ReSharper )

Pensez également à modifier les valeurs des attributs d'assembly suivants :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
Tim Abell
la source
25
Pour ceux qui utilisent le contrôle de code source, je pense que vous devez également renommer le dossier en contrôle de code source. Pour moi, les étapes ci-dessus ne l'ont pas fait.
Patrick Szalapski
10
Lorsque vous utilisez TFS, l'étape 2 consiste en fait à renommer le dossier dans le contrôle de code source, puis à obtenir la dernière version avant de rouvrir le sln.
Amy Patterson
3
La propriété File Path devient modifiable dans VS2010 après que le dossier a été renommé (et VS ne peut pas trouver le projet)
Jimmy
11
Cela n'a pas fonctionné pour moi dans VS 2012; la propriété est en lecture seule. J'ai dû ouvrir le fichier .sln sous forme de texte.
Grault
3
Oui! Tout ce mal pour renommer un dossier! C'était plus facile sous MS-DOS!
Kokodoko
97

Il existe une autre façon de procéder, en utilisant les fichiers * .sol, * csproj.

  1. Ouvrez votre fichier de solution.
  2. Recherchez le * .csproj que vous souhaitez modifier.
  3. Ce sera comme ça (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}"

  4. Et changez simplement la première partie dans le nouveau répertoire par exemple:

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. Bien sûr, n'oubliez pas de déplacer tout le projet dans ce répertoire.

rabashani
la source
17
Cela a fonctionné pour moi, plutôt que la réponse acceptée, qui n'a pas fonctionné car la propriété FilePath était en lecture seule pour moi.
TJKjaer
1
Merci, ça a beaucoup aidé. Veillez également à modifier également les valeurs RootNamespace et AssemblyName.
DevDave
@TJKjaer Same.
dzenesiz
Cela n'a pas fonctionné pour moi dans VS2019. Donne des avertissements sur les références de projet inexistantes et compile des erreurs sur les espaces de noms et les classes manquants dans le projet référencé.
Jeff Walker Code Ranger
Cela fonctionne pour moi dans Visual Studio 2019, avec des projets C #. C'est une solution assez simple. Pour les personnes qui peuvent rencontrer des problèmes lors de la compilation, je vous recommande de reconstruire entièrement le projet au lieu de la compiler uniquement.
A Silva
95

Ceci est simple dans Visual Studio 2015 (fonctionne peut-être dans les anciennes versions)

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Solution principaleRenommer
  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet (sous la solution) → Renommer
  3. Dans l'Explorateur de solutions, double-cliquez ou cliquez avec le bouton droit sur Propriétésonglet d'application goto , renommez le nom de l' assembly et l' espace de noms par défaut pour qu'ils correspondent.
  4. Si vous souhaitez également renommer l'espace de noms, ouvrez l'un de vos fichiers de classe. Cliquez droit sur l'espace de noms → Renommer ... . Cela devrait rechercher et remplacer toutes les références à votre espace de noms tout au long du projet.
  5. Fermez le projet → renommez le dossier du projet .
  6. Modifiez le .slnfichier dans le Bloc - notes et modifiez le chemin d'accès au csproj, c'est-à-dire fu\bar.csprojbar\bar.csproj.
filaire00
la source
3
Vous avez oublié de mettre à jour les références de projet dans les projets dépendants (le cas échéant).
Steven Liekens
1
@JohnPeters Pour autant que je puisse voir, cette réponse n'a pas été modifiée. L'étape 5 décrit le changement de nom du dossier, donc suivre ces étapes modifie également le nom du dossier physique.
Philip Stratford
N'oubliez pas d'appliquer l'étape 4 au dossier de sous-projet (c'était la seule étape manquante pour moi afin que l'étape 6 fonctionne).
Felipe Gutierrez
54

Mec, j'ai du mal 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 conservant l'historique des sources:

(Assurez-vous de lire le commentaire de @ mjv ci-dessous, car il note que vous pouvez ignorer l'étape 5-10)

  1. Assurez-vous que vous avez archivé toutes les modifications, afin que vous n'ayez aucune modification en attente.
  2. Supprimez le projet de la solution, en cliquant avec le bouton droit et en sélectionnant Supprimer .
  3. Maintenant, dans l'Explorateur Windows, renommez le dossier du projet.
  4. Revenez à Visual Studio et dans l'Explorateur de solutions, cliquez avec le bouton droit sur la solution et choisissez Ajouter -> Projet existant . Sélectionnez le fichier de projet pour le projet que vous avez supprimé à l'étape 2, qui doit se trouver dans le dossier renommé.
  5. Maintenant, le projet est de retour dans la solution, mais le projet ne semble pas être ajouté au contrôle de code source. Pour résoudre ce problème, ouvrez l'explorateur de contrôle de code source.
  6. Recherchez 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.
  7. Renommez le dossier dans l'Explorateur de contrôle de source, afin qu'il porte le même nom que le dossier de projet sur le disque.
  8. Jetez maintenant un œil à vos modifications en attente. Vous devez apporter des modifications au fichier de solution et une opération de renommage sur le dossier du projet.
  9. Faites une reconstruction et assurez-vous que tout se 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é.
  10. Vous devriez être prêt maintenant. Allez tout vérifier.

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 dossier dans votre espace de travail. Redémarrez Visual Studio au cas où. Assurez-vous que vous avez réellement supprimé la solution entière de votre ordinateur. Maintenant, lisez le mappage de la solution sur votre espace de travail et obtenez la dernière version. Essayez maintenant les étapes ci-dessus. La même chose s'applique si quelque chose ne va pas en suivant les étapes ci-dessus. Supprimez simplement votre solution localement et obtenez la dernière source, et vous aurez une table blanche avec laquelle travailler.

Si vous rencontrez toujours des problèmes, assurez-vous que vous n'avez rien modifié manuellement dans le fichier de solution ou essayez d'autres `` astuces '' avant d'essayer les étapes ci-dessus. Si vous avez modifié quelque chose et que vous l'avez archivé, vous voudrez peut-être envisager d'effectuer une restauration au point juste avant de commencer à jouer avec le changement de nom 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 cette modification avant d'appliquer les étapes ci-dessus. Vous pouvez également le faire par la suite, mais assurez-vous de suivre d'abord toutes les étapes ci-dessus et archivez 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, mais je recommanderais de le faire dans 2 ensembles de modifications distincts.

René
la source
10
Merci d'avoir introduit une procédure qui fonctionne VS2012! Notez que vous pouvez éviter les étapes 5 à 10 (c'est-à-dire avoir à ramener les dossiers renommés dans le contrôle de code source) si, à la place, vous fermez la solution, puis renommez les dossiers dans VS' Source Control Explorerplutôt que Windows Explorer.
mjv
2
Ces étapes étaient proches, mais la modification de l'emplacement du dossier avec Windows Explorer (WE) avant de renommer dans Source Control Explorer (SCE) a provoqué l'erreur: Folder already exists . J'ai donc dû renommer le dossier à nouveau, WEpuis le changer SCE, puis copier les fichiers dans ce dossier, avant que cela fonctionne. Suivez donc le commentaire de mjv ci-dessus. Je n'ai pas non plus pensé à devoir changer les noms de fichiers de projet réels (pas seulement dans VS), ce que j'ai fait après coup, me faisant répéter certaines de ces étapes.
CaptainBli
Cette approche avec le commentaire de mjv fonctionne dans Perforce avec le clic droit, l'option Renommer / Déplacer également.
santos
Vous pouvez éviter de casser les références de projet, voir stackoverflow.com/a/10853509/10245
Tim Abell
@TimAbell Avez-vous essayé cette procédure dans VS2012 et cela a-t-il fonctionné pour vous? Avant de rédiger ma réponse, j'ai essayé, mais cela n'a pas fonctionné pour moi, car le chemin du projet dans la fenêtre Propriétés était toujours en lecture seule. Et cela n'a pas fonctionné non plus pour éditer le fichier SLN.
René
34

Actuellement non. Eh bien, en fait, vous pouvez cliquer sur le nœud de projet cassé et dans le volet des propriétés rechercher la propriété 'Path', cliquer sur la petite icône de navigation et sélectionner le nouveau chemin.

Voilà :)

mortenbpost
la source
2
À l'aide de VS2015, le nom de la propriété «Propriétés du projet déchargé» est «Chemin du fichier» et la valeur n'est ni modifiable ni consultable.
William
29

La solution la plus simple est la suivante:

  1. Cliquez avec le bouton droit sur le projet et renommez-le.
  2. (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.
  3. (facultatif) Sélectionnez le nom de l'espace de noms dans un fichier source, cliquez avec le bouton droit et sélectionnez Refactor / Rename pour renommer globalement l'espace de noms en nouveau nom de projet.
  4. (facultatif) Ouvrez le fichier AssemblyInfo.cs et modifiez le nom de l'assembly pour qu'il corresponde.
  5. Enregistrez et fermez la solution.
  6. À l'aide de l'Explorateur Windows, renommez le dossier du projet sous le nouveau nom.
  7. Ouvrez le fichier SLN dans un éditeur de texte et recherchez la seule référence au chemin du projet et modifiez-la pour utiliser le nouveau nom de dossier.

Il y a quatre étapes nécessaires, mais sept recommandées. À la fin de la journée, le projet est renommé complètement. Techniquement, le nom de dossier du projet ne doit pas nécessairement correspondre au projet lui-même, donc même cette étape est facultative, mais elle peut être déroutante si elle ne correspond pas. Idem pour les noms d'assembly et d'espace de noms.

Md. Shafiqur Rahman
la source
Autre étape 7: Ouvrez le fichier SLN avec VS, ignorez les avertissements (cliquez sur "OK"), sélectionnez le ou les projets dans l'Explorateur de solutions, appuyez sur F4, mettez à jour le chemin du fichier. Étape 0 facultative: cliquez avec le bouton droit sur la solution et renommez-la.
Martin Schneider
7
Incroyable à quel point Microsoft fait des choses difficiles
Alex
1
Cela a fonctionné pour moi sur Visual Studio Community 2017. La réponse acceptée n'a pas fonctionné (pour moi); la propriété qui devait être modifiée est en lecture seule pour moi et ne peut pas être modifiée dans la boîte de dialogue des propriétés.
codingatty
10

Dans la réponse d'Andersjanmyr, il est plus facile de renommer le projet en premier.

  1. Renommez le projet.
  2. Fermez la solution (enregistrez-la).
  3. Renommez les dossiers en dehors de Visual Studio.
  4. Ouvrez la solution en ignorant les avertissements.
  5. Parcourez tous les projets non disponibles et définissez la propriété 'File Path' sur le nouvel emplacement de votre fichier de projet, c'est-à-dire someproject.csproj .
  6. Rechargez le projet.

En outre, une fois ces étapes effectuées, vous souhaiterez peut-être renommer d'autres références en utilisant l'ancien nom de votre projet.

Dans les 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 supprimera l'erreur "L'espace de noms ne correspond pas à l'emplacement du fichier, devrait être: 'SomeProjectName'"

Renommez votre espace de noms racine (si vous avez ReSharper, cliquez avec le bouton droit sur l'espace de noms et choisissez Refactor -> Rename).

Modifiez toutes les occurrences de votre ancien nom de projet dans AssemblyInfo.cs .

CRice
la source
En vous appuyant sur cette réponse, vous pouvez modifier manuellement le fichier de solution afin que le chemin d'accès au projet soit votre nouveau chemin et éviter les avertissements lors de l'ouverture de la solution. Vous pouvez probablement cliquer sur Projet> Propriétés> AssemblyInfo pour modifier les informations d'assemblage à partir de VS et éviter de modifier le fichier AssemblyInfo.cs.
H2ONaCl
8

Pour Visual Studio 2017, vous pouvez utiliser mon extension Visual Studio:

Télécharger

Il renommera le projet en:

  • Le dossier d'emplacement du projet
  • Le fichier de solution
  • Références dans d'autres projets
  • Le nom de l'assembly, les informations
  • L'espace de noms par défaut
Kuanysh
la source
impressionnant! fatigué de tous les renommages manuels que j'ai dû faire par le passé. Fonctionne bien. Cependant, je n'ai pas trouvé de référence de chaîne dans un autre package. Je ne sais pas si c'est intentionnel.
frostymarvelous
THX. mais je n'ai pas compris ce qui suit: "référence de chaîne dans un autre package". Pouvez-vous l'expliquer?
Kuanysh
J'ai donc un projet de test et je l'ai donc [assembly: InternalsVisibleTo("MyTests")]. Lorsque j'ai renommé MyTests, il n'a pas renommé cette référence. Encore une fois, je ne pense pas que cela relève de votre compétence et c'est facile à résoudre manuellement.
frostymarvelous
1
Cette extension suppose que le dossier porte actuellement le même nom que le projet (avant de renommer). S'ils diffèrent, le changement de nom échoue :( Je n'ai pas non plus fait fonctionner "Renommer les espaces de noms". Heureusement, je ne l'ai utilisé que sur des solutions assez petites. Sinon,
parfait
1
@MassimilianoKraus Je rend l'extension privée, à cause des derniers commentaires négatifs sans explication sur le marché. Désolé. J'ai mis à jour le lien
Kuanysh
6

Je devais juste le faire moi-même (en utilisant Visual Studio 2010). Comme certains l'ont répondu, l'étape la plus simple semble être:

  1. Fermez le projet Visual Studio.
  2. Ouvrez le fichier .sln et renommez le préfixe du répertoire du projet pour chacune des occurrences .csproj.
  3. Enregistrez le fichier .sln
  4. Renommez le répertoire du dossier de projet réel sur votre disque dur pour qu'il corresponde à vos modifications dans le fichier .sln.
  5. Ouvrez le .sln (dans Visual Studio) et reconstruisez
John Im
la source
5

Pour ceux qui utilisent Visual Studio + Git et qui souhaitent conserver l'historique des fichiers (travaux renommant à la fois des projets et / ou des solutions):

  1. Fermez Visual Studio

  2. Dans le fichier .gitignore, dupliquez tous les chemins d'ignorance 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: recherchez la ligne définissant votre projet et changez le nom du dossier en chemin. La ligne doit ressembler à quelque chose comme:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Ouvrez Visual Studio et faites un clic droit sur le projet → Renommer

  6. Ensuite, renommez les espaces de noms.

    J'ai lu que ReSharper a quelques options pour cela. Mais la simple recherche / remplacement a fait le travail pour moi.

  7. Supprimez les anciens chemins d'accès .gitignore.

ivke
la source
4

Voir le point 3 dans l'article lié .


  1. Fermez la solution et l'IDE.
  2. Dans l'Explorateur Windows: remplacez le nom du répertoire par le nouveau nom.
  3. Dans l'Explorateur Windows: ouvrez le fichier .sln avec un éditeur de texte.
  4. Remplacez le nom du répertoire par le nouveau nom et enregistrez.
  5. Redémarrez l'IDE et ouvrez la solution à partir du menu Fichier → Menu Fichiers récents s'il ne démarre pas automatiquement.
  6. Cliquez sur le dossier du projet dans l'Explorateur de solutions et vérifiez la propriété du chemin dans les propriétés en bas. Il fera désormais référence au nouveau dossier de projet.

Ça a marché pour moi.

Jim Lewis
la source
4

Ce qui a fonctionné pour moi dans Visual Studio 2017:

  • Fermer la solution dans Visual Studio
  • Renommez les répertoires des projets dans la solution.
    • (pousser le changement dans le contrôle de source - Git dans mon cas)
  • Modifiez le fichier .sln dans un éditeur de texte (en dehors de Visual Studio 2017) en modifiant le nom du répertoire.
  • Rouvrez la solution dans Visual Studio

Il disait quelque chose comme " ré-ajouter un projet ". J'ai tout reconstruit et tout allait bien.

Charles Plager
la source
1
En outre, vous devrez peut-être supprimer l'ancien projet des dépendances d'autres projets et ajouter à nouveau le projet nouvellement renommé en tant que nouvelle dépendance (cliquez avec le bouton droit sur l'ancien projet >> Supprimer, puis cliquez avec le bouton droit sur Dependencies>> Add reference>> Sélectionnez votre nouveau projet )
maxshuty
4

J'ai dû faire ça plusieurs fois. Il est vraiment utile de pouvoir réaffecter un projet existant, mais de renommer du texte dans des espaces de noms, des fichiers et des dossiers (y compris les noms de fichiers / répertoires).

L'utilisation d'une recherche et d'un remplacement récursifs à partir du dossier racine signifie que le changement de nom ne rompt pas les liens vers les projets dans les fichiers de solution et les références de projet.

À cette fin, j'ai créé un projet pour ce faire. L'application s'efforce également d'ignorer les dossiers de contrôle de version tels que .git, .svn et le fichier de paramètres .vs. Plus d'informations sont dans le README.

https://github.com/garethrbrown/vs-project-rename

Exemple

gb2d
la source
2
Bon travail! Votre projet est en fait un outil de renommage. Je pense qu'il manque vraiment une chose: une option de correspondance avec un mot entier.
Eliahu Aaron
4

Une solution éprouvée pour l'extension Visual Studio pour Data Tools for Business Intelligence (SSDT-BI 2013):

  1. Déplacez le dossier Projet vers son nouvel emplacement (ne renommez rien encore)
  2. Dans l'Explorateur de solutions, renommez le projet / la solution.
  3. Fermez (et enregistrez) le projet nouvellement renommé.
  4. Renommez le dossier du projet et le fichier .sln.
  5. Utilisez un éditeur de texte et ouvrez le fichier de solution de projet nouvellement renommé (.sln) (j'ai utilisé Notepad ++ )
  6. À la ligne numéro 6, vous verrez: "Project {fdjfksdjk4387! ...} =" OLDPROJECT "," OLDFOLDER \ OLDPROJECT.rptproj ". Renommez tout avec les nouveaux noms utilisés à l'étape 4. (c'est-à-dire ... =" NEWPROJECT "," NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. C'est ça!

Il a été testé à 100% et a parfaitement fonctionné dans mon cas.

REMARQUE: je ne peux pas confirmer si cela fonctionne sous différents modèles de projet et d'autres versions de Visual Studio. Comme toujours, sauvegardez tout au préalable.

alejandrob
la source
2

J'ai écrit un petit outil qui automatise toutes ces étapes. Il prend également en charge Subversion pour l'instant.

Vous trouverez des informations sur les versions actuelles dans Visual Studio Project Renamer Infos .

Les dernières versions peuvent maintenant être téléchargées à partir de la page de téléchargement de Visual Studio Project Renamer .

Les commentaires sont très appréciés.

Razer
la source
2

J'ai souvent eu le même problème de renommer un projet dans Visual Studio et de modifier le nom du dossier, le nom du projet et le fichier .sln pour y parvenir. Je viens d'écrire un VBScript script qui accomplit tout cela. Vous devez être prudent avec les chaînes que vous choisissez de remplacer.

Il vous suffit de placer le fichier .vbs 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
Valkyrias
la source
1

Remarque : ce correctif concerne Visual Studio 2008, mais il devrait fonctionner ici.

  1. À l'aide de l'Explorateur Windows, renommez les dossiers de solution (le dossier parent et le dossier enfant) en leur nouveau nom de solution.
  2. Supprimez le .slnfichier situé dans le dossier parent.
  3. Dans Visual Studio, sélectionnez le menu FichierOuvrir un projet .
  4. Explorez le nouveau dossier que vous venez de renommer et ouvrez le fichier .csproj (situé dans le dossier enfant).
  5. Cliquez avec le bouton droit sur le nom du projet et renommez-le comme vous le souhaitez. (Il doit s'agir du même nom que le dossier de l'étape 1.)
  6. Sélectionnez le menu FichierFermer la solution . Une boîte de dialogue vous demandera si vous souhaitez enregistrer les modifications apportées au .slnfichier. Cliquez Yes.
  7. 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 .slnfichier porte le même nom que le dossier. Il n'est pas obligatoire, mais il conserve sa cohérence.)

Terminé.

Robo A GoGo
la source
1

Lorsque vous utilisez TFS, l'étape 2 consiste en fait à renommer le dossier dans le contrôle de code source, puis à obtenir la dernière version avant de rouvrir la solution.

Amy Patterson
la source
1

Nous avons récemment téléchargé une version bêta d'une extension Visual Studio gratuite qui fait ce genre de choses pour vous.

Jetez un œil à Visual Studio Gallery: Galerie Télécharger

user3652868
la source
1

Eh bien, je l'ai fait à ma façon

  • Fermer Visual Studio 2012
  • Renommez votre sous-répertoire avec le nom préféré sous .sln
  • Supprimez le fichier * .suo
  • Ouvrez à nouveau la solution et corrigez toutes les propriétés des projets chargés pour répondre au nouveau nom de sous-répertoire
ageroh
la source
1
  1. Renommez le projet dans la solution et le dossier du projet

  2. Supprimer le projet de la solution

  3. Ajoutez le projet existant à la solution (votre projet renommé)

Ça marche pour moi. TFS suivra également le nouveau projet.

Vlad
la source
1

Ouvrez .sln dans un éditeur de texte et dans la ligne suivante, changez <FolderName> en votre nouveau nom de dossier Project ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965} "

Hasala Senevirathne
la source
3
Veuillez expliquer pourquoi / comment cela fonctionne.
Simon.SA
1

Allez dans le fichier .sln, faites un clic droit, ouvrez avec Notepad ++ (ou n'importe quel éditeur; Notepad ++ est le plus rapide), trouvez le chemin, changez-le.

Ziad
la source
0

Après avoir changé le nom du dossier, ouvrez le fichier .sln dans le Bloc - notes et changez le chemin d'accès en nouveau chemin d'accès.

LastT Tribunal
la source
0

Des problèmes similaires se posent 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é dans

./path/to/pro/ject/YourProject/YourProject.**proj

Supposons que vous vouliez l'avoir directement dans le jectdossier:

./path/to/pro/ject/YourProject.**proj

Ma solution consiste à créer le projet avec la dernière partie du chemin d'accès comme nom, afin qu'il ne crée pas de répertoire supplémentaire:

./path/to/pro/ject/ject.**proj

Lorsque vous renommez maintenant le projet à partir de Visual Studio, vous atteignez l'objectif sans avoir à quitter Visual Studio:

./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.

Etan
la source
0

J'utilise Visual Studio 2013 et TFS 2013.

Je l'ai fait comme ça:

  1. Ouvrez Visual Studio, sans ouvrir la solution elle-même, et utilisez l' Explorateur de contrôle de code source pour rechercher et renommer les dossiers des projets
  2. Double-cliquez sur le fichier de solution dans l' Explorateur de contrôle de code source pour ouvrir une solution.
  3. Vous obtenez une question: "Des projets ont récemment été ajoutés à cette solution. Voulez-vous les obtenir du contrôle de code source?" et vous choisissez Yes.
  4. 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 code source
  5. Essayez de générer et de valider des modifications.
Muris
la source
donc pas de choses Windows Explorer. En fin de compte, vous pouvez supprimer tous les fichiers locaux et obtenir le projet entier (propre) du contrôle de code source.
Muris
Je viens de découvrir qu'il est également possible, en raison de la réorganisation des dossiers, que le fichier de solution crée un dossier vide où certains projets ont été stockés. Ensuite, ouvrez le fichier de solution dans le bloc-notes et décrivez le nombre de propriétés SccNumberOfProjects par le nombre de répertoires vides créés, et supprimez SccProjectUniqueName #, SccProjectName #, SccLocalPath # et autres propriétés avec le même #.
Muris
0

Il existe une approche plus simple qui a été testée dans Visual Studio 2013 Update 1 et applicable aux projets connectés à TFS:

  • Ouvrez Visual Studio, mais laissez la solution fermée.
  • Ouvrez l' Explorateur de 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).
  • Cliquez avec le bouton droit sur la solution (à partir de l' Explorateur de source également) et sélectionnez l'enregistrement.
  • Ouvrez la solution. On vous dira que de nouveaux projets ont été ajoutés. Acceptez pour obtenir les modifications.
  • Supprimez le projet de la solution et ajoutez-le à nouveau, puis archivez.
  • Vérifiez que les références internes sont correctes.
Mohamed Emad
la source
0

Le moyen le plus simple consiste à accéder à la propriété de la fenêtre, à modifier le nom des espaces de noms par défaut, puis à renommer.

hjbjh
la source
De quelle fenêtre parlez-vous? Voulez-vous dire la fenêtre des propriétés du projet?
Peter Mortensen le
0
  1. Renommez le projet en dehors de Visual Studio.
  2. Modifiez votre_nom_projet.sln avec un éditeur de texte et renommez le chemin d'accès en nouveau chemin.
user1062770
la source
1
Cela semble similaire à la solution actuelle et un peu plus difficile.
bowlturner
0

J'ai fait ce qui suit:

<Créez une sauvegarde de l'intégralité du dossier>

  1. Renommez le projet à partir de Visual Studio 2013 (facultatif / non nécessaire).

  2. Exportez le projet en tant que modèle.

  3. Fermez la solution.

  4. Rouvrir la solution

  5. Créez un projet à partir du modèle enregistré et utilisez le nom que vous aimez.

  6. Supprimez de l'explorateur de solutions le projet précédent.

À ce stade, j'ai essayé de compiler la nouvelle solution et pour ce faire, j'ai dû copier manuellement certaines ressources et en-têtes dans le nouveau dossier de projet à partir de l'ancien dossier de projet. Faites-le jusqu'à ce qu'il compile sans erreur. Maintenant, ce nouveau projet a sauvé le " fichier ".exe" dans le dossier précédent. *

Alors ->

  1. Accédez à l'Explorateur Windows et copiez manuellement le fichier de solution de l'ancien dossier de projet vers le nouveau dossier de projet.

  2. Fermez la solution et ouvrez la solution à partir du nouveau projet.

  3. Changé la configuration en (x64) si nécessaire.

  4. Supprimez le dossier du projet avec l'ancien nom du dossier de la solution.

Peter Mortensen
la source