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?
Ma solution actuelle pour renommer le dossier du projet est:
Y a-t-il une meilleure façon?
Réponses:
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:
.sln
fichier 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.)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:
Pensez également à modifier les valeurs des attributs d'assembly suivants :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
Il existe une autre façon de procéder, en utilisant les fichiers * .sol, * csproj.
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}"
Et changez simplement la première partie dans le nouveau répertoire par exemple:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Bien sûr, n'oubliez pas de déplacer tout le projet dans ce répertoire.
Ceci est simple dans Visual Studio 2015 (fonctionne peut-être dans les anciennes versions)
.sln
fichier dans le Bloc - notes et modifiez le chemin d'accès au csproj, c'est-à-dire fu\bar.csproj
→ bar\bar.csproj
.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)
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.
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 Explorer
plutôt que Windows Explorer
.
Folder already exists
. J'ai donc dû renommer le dossier à nouveau, WE
puis 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.
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à :)
La solution la plus simple est la suivante:
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.
Dans la réponse d'Andersjanmyr, il est plus facile de renommer le projet en premier.
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 .
Pour Visual Studio 2017, vous pouvez utiliser mon extension Visual Studio:
Il renommera le projet en:
[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.
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:
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):
Fermez Visual Studio
Dans le fichier .gitignore, dupliquez tous les chemins d'ignorance du projet que vous souhaitez renommer avec des versions renommées de ces chemins.
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
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"
Ouvrez Visual Studio et faites un clic droit sur le projet → Renommer
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.
Supprimez les anciens chemins d'accès .gitignore.
Voir le point 3 dans l'article lié .
Ça a marché pour moi.
Ce qui a fonctionné pour moi dans Visual Studio 2017:
Il disait quelque chose comme " ré-ajouter un projet ". J'ai tout reconstruit et tout allait bien.
Dependencies
>> Add reference
>> Sélectionnez votre nouveau projet )
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.
Une solution éprouvée pour l'extension Visual Studio pour Data Tools for Business Intelligence (SSDT-BI 2013):
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.
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.
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
Remarque : ce correctif concerne Visual Studio 2008, mais il devrait fonctionner ici.
.sln
fichier situé dans le dossier parent..sln
fichier. Cliquez Yes..sln
fichier porte le même nom que le dossier. Il n'est pas obligatoire, mais il conserve sa cohérence.)Terminé.
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.
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
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} "
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 ject
dossier:
./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.
J'utilise Visual Studio 2013 et TFS 2013.
Je l'ai fait comme ça:
Il existe une approche plus simple qui a été testée dans Visual Studio 2013 Update 1 et applicable aux projets connectés à TFS:
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.
J'ai fait ce qui suit:
<Créez une sauvegarde de l'intégralité du dossier>
Renommez le projet à partir de Visual Studio 2013 (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.
À 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 ->
Accédez à l'Explorateur Windows et copiez manuellement le fichier de solution de l'ancien dossier de projet vers le nouveau dossier de projet.
Fermez la solution et ouvrez la solution à partir du nouveau projet.
Changé la configuration en (x64) si nécessaire.
Supprimez le dossier du projet avec l'ancien nom du dossier de la solution.