Bonne façon de renommer la solution (et les répertoires) dans Visual Studio

J'ai une solution Visual Studio plutôt impliquée (2010, mais cela ne devrait pas avoir d'importance) que je dois renommer.

Je veux renommer les dossiers pour correspondre au nouveau nom de la solution, mais je ne peux pas trouver un moyen de refactoriser les noms de dossiers automatiquement, et passer par chaque fichier de projet sera douloureux.

Y a-t-il un moyen officiel de le faire? Alternativement (et beaucoup moins de préférence), existe-t-il des outils gratuits pour y parvenir?

320
demandé sur Stephen Kennedy 2010-01-11 20:37:25

17 réponses

Modifier Manuellement .fichier sln

cette méthode est entièrement destinée à renommer le répertoire du projet, comme vu dans L'Explorateur Windows.

Cette méthode ne souffre pas des problèmes de la méthode Remove/add project file ci-dessous (les références disparaissent), mais elle peut entraîner des problèmes si votre projet est sous contrôle de source (Voir notes ci-dessous). C'est pourquoi l'étape 2 (sauvegarde) est si importante.

  1. Fermez Visual Studio.
  2. créer une sauvegarde de vos .fichier sln (vous pouvez toujours revenir en arrière).
  3. Imaginez que vous voulez renommer le répertoire " Project1 "en"Project2".
  4. Si vous n'utilisez pas le contrôle de source, renommez le dossier de "Project1 "en" Project2 " à l'aide de L'Explorateur Windows.
  5. Si vous utilisez le contrôle de source, renommez le dossier de "Project1 "en" Project2 " à l'aide des fonctions fournies par le contrôle de source. Cela préserve l'historique du fichier. Par exemple, avec TortoiseSVN, clic droit sur le fichier, sélectionnez TortoiseSVN .. Rename.
  6. dans le .fichier sln, modifiez toutes les instances de " Project1 "pour qu'elles soient" Project2", en utilisant un éditeur de texte comme NotePad.
  7. redémarrez Visual Studio, et tout fonctionnera comme avant, mais avec le projet dans un répertoire différent.

Vous pouvez aussi voir renommer solution manuellement ou post qui décrit ce processus manuel.

Avantages

  • Vous pouvez faire en sorte que le répertoire dans L'Explorateur Windows corresponde au nom du projet solution.
  • cette méthode nePas supprime les références d'autres projets à ce fichier (un avantage par rapport à la méthodeRemove/add project file , Voir mon autre réponse ci-dessous).

Avertissements

  • Il est important de sauvegarder tout dans un .fichier zip avant de renommer quoi que ce soit, car cette méthode peut créer des problèmes avec le contrôle de la source.
  • Si votre projet est sous contrôle de source, il peut créer des problèmes si vous renommez des fichiers ou répertoires en dehors du contrôle de source (en utilisant L'Explorateur Windows). il est préférable de renommer le fichier en utilisant le framework de contrôle de source lui-même , Si vous le pouvez, pour préserver l'historique de ce fichier (consultez le menu contextuel sur un clic droit-il peut avoir une fonction pour renommer le fichier).

Mise à Jour 2014-11-02

ReSharper a ajouté une méthode automatisée pour obtenir le même résultat que la méthode manuelle ci-dessus. Si l'espace de noms est souligné d'un bleu ondulé ligne, cliquez sur l'icône de la pyramide d'action soit:

  • renommez l'espace de noms pour qu'il corresponde au nom du répertoire dans L'Explorateur Windows, ou;
  • renommez le répertoire dans L'Explorateur Windows pour qu'il corresponde à l'espace de noms.

Dans le second cas, le dernier mot définit le nouveau nom de répertoire dans L'Explorateur Windows, par exemple si nous changions l'espace de noms en ViewModel2, il offrirait de déplacer le fichier dans le dossier ViewModel2.

Cependant, cela ne mettra pas nécessairement à jour les fichiers dans le contrôle de source, donc vous pouvez toujours utiliser la méthode manuelle.

entrez la description de l'image ici

Mise à Jour 2018-01-31

Testé avec Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 Mise À Jour 1, 2, 3, 4, 5.

287
répondu Contango 2018-07-16 20:37:18

Voici les étapes à suivre pour renommer une solution:

  1. dans L'Explorateur de solutions, cliquez avec le bouton droit sur le projet, entrez un nouveau nom.
  2. dans L'Explorateur de solutions, cliquez avec le bouton droit sur le projet et sélectionnez Propriétés. Dans L'onglet Application, modifiez les "nom de L'Assembly" et " Default l'espace de noms".
  3. dans le fichier cs principal (ou tout autre fichier de code), renommez l'espace de noms déclaration à utiliser le nouveau nom. Pour cela, cliquez avec le bouton droit sur l'espace de noms et sélectionnez Refactor > renommer entrez un nouveau nom. Exemple: namespace WindowsFormsApplication1
  4. Modifiez AssemblyTitle et AssemblyProduct dans Propriétés / AssemblyInfo.cs.

    [assembly: AssemblyTitle("New Name Here")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("")]
    [assembly: AssemblyProduct("New Name Here")]
    [assembly: AssemblyCopyright("Copyright ©  2013")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]
    
  5. Supprimer les répertoires bin et obj physiquement.

  6. Renommez le répertoire du dossier physique du projet.

  7. Ouvrez le fichier SLN (dans le bloc-notes ou n'importe quel éditeur) et modifiez le chemin pour le projet.

  8. Nettoyer et Reconstruire le projet.

119
répondu Zaheer Ahmed 2015-12-05 10:37:54

Les opérations de renommage dans visual studio ne changent que le nom du fichier, c'est-à-dire pour un projet,*.prj et pour une solution *.la sln. Vous devrez renommer les dossiers séparément en utilisant le système de fichiers, et vous devrez supprimer et lire les projets car ils auront de nouveaux noms de dossier. Cependant, notez que les fichiers de solution et de projet sont respectivement des fichiers texst et xml. Vous pouvez écrire votre propre programme qui les analyse et renomme les noms de dossier, les noms de fichiers et corrige le projet / solution fichiers en interne.

29
répondu AaronLS 2010-01-11 17:46:55

Vous pouvez également exporter le modèle, puis créer un nouveau projet à partir du modèle exporté en changeant le nom comme vous le souhaitez

18
répondu edoardo 2013-02-27 07:47:06

Voici une façon étape par étape de renommer l'ensemble de votre solution dans Visual Studio 2013

En supposant que nous changions un projet nommé "HelloWorld.l'interface utilisateur" à "Section1to5.l'interface utilisateur"

  1. allez dans l'Explorateur de solutions (capture d'écran ci-dessous), faites un clic droit sur le projet que vous souhaitez renommer et sélectionnez "Renommer". Entrez le nouveau nom que vous désirez.

L'Explorateur De Solution De Capture D'Écran

  1. Faites un clic droit sur le projet que vous venez de renommer, puis cliquez sur "Propriété". Sous L'onglet Application, modifiez le "nom de L'assemblage" et "espace de noms par défaut".

  2. Dans le programme principal.fichier cs (ou tout autre fichier de code que vous avez créé), renommez la déclaration d'espace de noms pour utiliser le nouveau nom. Pour cela, cliquez avec le bouton droit sur l'espace de noms et sélectionnez Refactor > renommer entrez un nouveau nom. Par exemple:

    Espace De Noms HelloWorld.ui ----> espace de noms Section1to5.ui

  3. Ensuite, développez les "propriétés" et double-cliquez sur AssemblyInfo.cs fichier. Vous remarquerez le fragment de code ci-dessous:

[assembly: AssemblyTitle("HelloWorld.ui")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("HelloWorld.ui")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Vous devez modifier AssemblyTitle et AssemblyProduct dans Properties / AssemblyInfo.cs au nouveau nom, dans cet exemple de " HelloWorld.l'interface utilisateur" à "Section1to5.interface". Une fois que vous avez terminé de changer le nom, Enregistrez et fermez Visual Studio.

  1. Dans le répertoire du projet, allez dans le dossier "HelloWorld.ui "et supprimez les répertoires" bin " et "obj".

  2. Une Fois que vous êtes fait, renommez le dossier " HelloWorld.ui " au nouveau nom du projet.

  3. Ouvrez le fichier de solutions renommé avec un éditeur de texte tel que Notepad ou Notepad++ et modifiez la ligne suivante:

    Projet ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = " HelloWorld.l'interface utilisateur", "HelloWorld.ui \ HelloWorld.interface.csproj", "{39FC65A3-3AE7-4EC9-B8F7-74F971636C70} "

Remplacez toutes les instances de " HelloWorld.ui" le nouveau nom que vous avez sélectionné pour votre projet, dans ce cas "Section1to5.interface". Cela change le chemin du projet vers le répertoire renommé à l'étape 6.

  1. Ouvrez le fichier solutions avec visual studio, nettoyez et reconstruisez le projet.

  2. Vous remarquerez peut-être que le bouton "Debug/Run" a été remplacé par le bouton "Attach". Si cela se produit, faites simplement un clic droit sur le projet et choisissez L'option" Définir comme projet de démarrage". Vous pouvez également cliquer sur Outils>Personnaliser > commandes>Ajouter une commande>déboguer et ajouter bouton.

Vous êtes fait de renommer le projet, si vous avez des doutes n'hésitez pas à poster et je serais heureux de vous aider!

8
répondu Abhishek Agrawal 2015-11-26 06:49:06

Supprimez vos sous-dossiers bin et obj pour supprimer une charge de référence incorrecte, puis utilisez windows pour rechercher l'ancien nom.

Modifier tout code ou fichier xml trouvé et reconstruire, devrait être ok maintenant.

6
répondu Michael 2010-12-06 11:40:52

L'utilisation de la fonction" Find in Files " de Notepad++ a bien fonctionné pour moi (ctrl + H, Find in Files).

Http://notepad-plus-plus.org/download/v6.2.2.html

4
répondu Wotuu 2012-12-06 09:14:55

J'ai essayé le projet Visual Studio Renamer, mais, il a jeté des exceptions dans les quelques cas où je l'ai essayé.

J'ai eu un bon succès avec CopyWiz.

Je ne suis en aucun cas affilié avec eux, et je ne l'ai pas encore payé, mais je devrais peut-être bientôt, car c'est le seul outil qui semble fonctionner pour mes projets C# et c++. J'espère qu'ils font un peu d'argent, et de continuer à l'améliorer, si.

4
répondu Cameron 2014-05-21 07:38:25

Supprimer / Ajouter une méthode de fichier de projet

cette méthode est entièrement destinée à renommer le répertoire du projet, comme vu dans L'Explorateur Windows.

  1. Sauvegardez l'ensemble de votre projet en utilisant quelque chose comme GIT, SVN ou WinZip (important!).
  2. dans la solution de Visual Studio, supprimez le projet.
  3. renommez le répertoire dans L'Explorateur Windows.
  4. ajoutez le projet à nouveau dans Visual Studio.

Avantages

  • Vous pouvez faire en sorte que le répertoire dans L'Explorateur Windows corresponde au nom du projet dans la solution.

Inconvénients

  • Si vous supprimez une bibliothèque, elle supprime toute référence à ladite bibliothèque d'autres projets. La solution peut ne pas compiler après cela, jusqu'à ce que vous ajoutiez les références à ladite bibliothèque (c'est assez facile). C'est la raison pour laquelle l'étape 1 (sauvegarde) est si importante.
  • Si vous la source de contrôle, vous perdrez l'historique du fichier.

Un clic droit sur un projet et en sélectionnant "Ouvrir le dossier dans L'Explorateur Windows" est utile pour garder une trace de l'endroit où le projet est stocké pendant que vous effectuez ce processus.

4
répondu Contango 2017-01-06 16:11:40

, Vous pouvez:

  1. Cliquez sur fichier-> nouveau ->créer un projet à partir d'un projet existant

  2. Sélectionnez votre fichier d'origine, par exemple. solution 1 et entrez le nouveau nom de fichier solution 2

  3. Modifiez le nom du projet dans la nouvelle solution 2

2
répondu 李全全 2013-03-08 07:54:00

Si vous créez un site Web dans Visual Studio 2010. Vous pouvez modifier le nom du projet comme suit.

Étape 1: Dans Visual Studio 2010, le fichier SLN sera stocké dans le dossier projet dans Visual studio 2010 et les fichiers Source sont stockés dans le dossier site Web dans Visual Studio 2010.

Étape 2: renommez le dossier par un clic droit sur ce dossier en avant par renommer qui contient votre projet SLN.

Étape 3: renommez le nom du fichier SLN par un clic droit sur ce fichier SLN avant par renommer.

Étape 4: renommez le dossier qui contient la Source de ce fichier SLN sous Website dans Visual Studio 2010.

Étape 5: puis enfin double-cliquez sur votre fichier SLN et changer la racine de votre dossier source SLN.

2
répondu Pavi Thran 2015-01-13 07:14:14

La seule solution qui fonctionne pour moi sur Visual Studio 2013 dans un projet WEB:

Disons que je veux renommer " project1 "en"project2". Disons le chemin physique à mon .le fichier sln est: c:\my\path\project1\project1.la sln

Donc le chemin vers mon .le fichier csproj ainsi que les dossiers bin et obj doivent être: c:\my\path\project1\project1\

  1. Ouvrez la solution dans VS en double-cliquant sur le Projet1.la sln fichier.

  2. Dans L'Explorateur de solutions, cliquez avec le bouton droit sur projet (pas la solution!!!), sélectionnez Renommer et entrez un nouveau nom.

  3. Dans L'Explorateur de solutions, cliquez avec le bouton droit sur le projet et sélectionnez Propriétés. Dans L'onglet Application, modifiez les "nom de L'assemblage" et "espace de noms par défaut".

  4. Dans le fichier CS principal (ou tout autre fichier de code comme Global.asax par exemple), renommez la déclaration d'espace de noms pour utiliser le nouveau nom. Pour cela, cliquez avec le bouton droit sur l'espace de noms et sélectionnez Refactor > renommer entrez un nouveau nom. Pour exemple:

Espace de noms Projet1

4.1 dans L'Explorateur de solutions, cliquez avec le bouton droit sur le projet (pas sur la solution!!!), sélectionnez Renommer et entrez un nouveau nom.

  1. Assurez-vous: AssemblyTitle et AssemblyProduct dans Properties / AssemblyInfo.cs sont définis sur le nouveau nom ("project2").

1 [assembly: AssemblyTitle ("nouveau nom ici")] 2 [l'Assemblée: AssemblyDescription("")] 3 [Assemblée: AssemblyConfiguration("")] 4 [Assemblée: Assemblysociété("")] 5 [Assemblée: AssemblyProduct ("Nouveau Nom Ici")] 6 [assembly: AssemblyCopyright ("Copyright © 2013")] 7 [Assemblée: AssemblyTrademark("")] 8 [assemblage: AssemblyCulture("")]

  1. Fermez le studio visuel.

  2. Supprimer les répertoires bin et obj physiquement.

  3. Renommer le dossier parent et le dossier source vers le nouveau nom (project2):

Dans l'exemple: c:\my\path\project1\project1

Sera être: c:\my\path\project2\project2

  1. Renommez le nom du fichier SLN par un clic droit sur ce fichier SLN avant par renommer.

  2. Ensuite, ouvrez enfin le fichier SLN (dans le bloc-notes ou tout éditeur) et copiez et remplacez (Ctrl + h)tout ancien nom au nouveau nom.

  3. Ouvrez VS et cliquez sur Construire - > nettoyer la Solution

  4. Cliquez sur construire - > construire une solution, puis sur F5 pour l'exécuter...

  5. Note1: Si vous obtenez quelque chose comme ceci: Erreur de Compilation CS0246: Le nom de type ou d'espace de noms 'project2' n'a pas pu être trouvé (il vous manque une directive using ou une référence d'assemblage?)

Fichier Source: c:\Users\Username\AppData\Local\Temp\Temporary ASP.NET fichiers \ racine \ 78dd917f\d0836ce4 \ App_Web_index.cshtml.a8d08dba.b0mwjmih.0.cs

Ensuite, allez dans le "temporaire ASP.NET fichiers" dossier et supprimer tout.

  1. Note2: si vous essayez de faire "enregistrer sous" dans un nouveau projet nommé et de conserver également l'ancien, envisagez de dupliquer votre base de données en modifiant les connectionStrings dans le web.config et aussi en redémarrant les migrations si vous en avez un dans le projet.
2
répondu Dudi 2015-08-13 21:18:23

Je suis nouveau sur VS. j'ai juste eu le même problème: il fallait renommer un projet démarré après quelques semaines de travail. Ce que j'ai fait et cela a fonctionné.

  1. juste au cas où, faites une sauvegarde de votre projet de dossier, bien que vous ne le fassiez pas être en contact avec elle, mais juste au cas où!
  2. Créez un nouveau projet et enregistrez-le en utilisant le nom que vous souhaitez pour votre'nouveau' projet, ce qui signifie le nom que vous voulez changer votre "ancien" projet.
  3. construisez-le. Après cela vous aurez un projet avec le nom que vous vouliez mais qu'il ne fait rien du tout mais ouvre une fenêtre (une application de formulaire Windows dans mon cas).
  4. avec le nouveau proyect ouvert, cliquez sur Projet- > Ajouter Ítem existant et en utilisant Explorateur Windows localisez votre projet de dossier "ancien" et sélectionnez tous les fichiers selon ...Visual Studio xxx \ projets \ oldApp \ oldApp
  5. Sélectionnez tous les fichiers qui s'y trouvent (.vb, .resx) et ajoutez-les à votre "nouveau" projet (celui qui doit être déjà ouvert).
  6. presque la dernière étape serait d'ouvrir votre fichier de projet en utilisant le Solution
    Explorer et dans le 1er onglet changez le formulaire de démarrage par défaut pour le formulaire il devrait être.
  7. tout reconstruire.

Peut-être plus d'étapes mais moins ou pas de frappe du tout, juste quelques clics de souris. Espérer cela aide :)

2
répondu J. Davalos 2015-08-24 08:20:09

Si vous avez des problèmes avec le chargement de projets partagés, comme Xamarin, n'oubliez pas de changer la référence aux bibliothèques partagées dans les fichiers csproj. J'ai développé un jeu CocosSharp et les projets Droid/iOS/wp81 ne voulaient pas charger. J'ai dû changer la ligne ci-dessous dans chaque fichier csproj(Driod/iOS/WP81) qui référencait la lib partagée. Cela a été causé par le changement des noms de dossiers, alors remplacez YOUR_PREVIOUS_NAMESPACE par vos nouveaux noms de dossiers.

<Import Project="..\YOUR_PREVIOUS_NAMESPACE.Shared\EmptyProject.Shared.projitems" Label="Shared" />

Aussi j'ai remarqué que pour .Projets Driod, nom d'assemblage dans les propriétés du projet ne peuvent pas être modifiées à l'aide de visual studio (j'utilise 2015). J'ai dû changer le nom de l'assemblage manuellement dans le .Droid.fichier csproj.

<AssemblyName>YourNameSpace</AssemblyName>

Ensuite, j'ai chargé la solution et dans la vue des propriétés du projet, un nouveau nom est apparu. Après la reconstruction dll avec ce nom a été généré.

2
répondu Zenon 2017-11-10 16:05:20

J'ai utilisé L'extension Visual Studio "Full Rename Project" pour renommer avec succès des projets ASP.NET solution Core 2.

J'ai utilisé ReSharper puis pour ajuster l'espace de noms (clic droit sur project, refactor, ajuster les espaces de noms...)

Https://github.com/kuanysh-nabiyev/RenameProjectVsExtension

entrez la description de l'image ici

2
répondu ToastedSoul 2018-09-27 13:22:23

Pour renommer un site web:

Http://www.c-sharpcorner.com/Blogs/46334/rename-website-project-in-visual-studio-2013.aspx

Recherchez et modifiez applicationhost d'IISExpress.config, trouvé ici: C:\Users{nom d'utilisateur} \ Documents \ IISExpress \ config

0
répondu Ricardo Rix 2015-09-11 09:14:00

Avec la réponse de ce lien

Https://stackoverflow.com/a/19844531/6767365

Renommez ces fichiers. J'ai renommé mon projet en MvcMovie et cela fonctionne bien entrez la description de l'image ici

0
répondu Pankaj shrivastava 2017-05-23 12:03:05