Ma solution actuelle pour renommer le dossier du projet est la suivante :
- Retirez 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 ?
Ma solution actuelle pour renommer le dossier du projet est la suivante :
Y a-t-il un meilleur moyen ?
Utilisateurs de TFS : Si vous utilisez un système de contrôle de la source qui exige que vous le préveniez avant de renommer des fichiers/dossiers, consultez le site suivant cette réponse à la place qui couvre les étapes supplémentaires requises.
Pour renommer un projet dossier , fichier ( .*proj
) et nom affiché dans Visual Studio :
.sln
directement dans un autre éditeur tel que Notepad++ et mettre à jour les chemins à la place. (Vous devrez peut-être d'abord vérifier la solution dans TFS, etc.)Note : D'autres solutions proposées qui impliquent la suppression puis la réinsertion du projet dans la solution rompent 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 :
Envisagez également de modifier les valeurs des éléments suivants attributs de l'assemblage :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
Pour ceux qui utilisent le contrôle de la source, je pense que vous devez également renommer le dossier dans le contrôle de la source. Pour moi, les étapes ci-dessus ne l'ont pas fait.
Lorsque vous utilisez TFS, l'étape 2 consiste en fait à renommer le dossier dans le contrôle de la source, puis à obtenir la dernière version avant de rouvrir le sln.
Une note supplémentaire... Vous devrez peut-être recréer les références de votre projet dans votre solution également. J'ai une solution avec un certain nombre de bibliothèques de classes liées et j'ai dû supprimer et réinsérer les références.
Il existe une autre façon de procéder, en utilisant les fichiers *.sol, *csproj.
Ouvrez votre fichier de solution.
Recherchez le fichier *.csproj que vous souhaitez modifier.
Il sera comme ceci (relatif 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 juste la première partie pour la nouvelle direction par exemple :
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Bien sûr, n'oubliez pas de déplacer l'ensemble du projet dans ce répertoire.
Cela a fonctionné pour moi, plutôt que la réponse acceptée, qui n'a pas fonctionné parce que la propriété FilePath était en lecture seule pour moi.
Merci, cela m'a beaucoup aidé. Veillez également à modifier les valeurs RootNamespace et AssemblyName.
Cela n'a pas fonctionné pour moi dans VS2019. Donne des avertissements sur les références de projet qui n'existent pas et des erreurs de compilation sur le manque d'espaces de noms et de classes dans le projet référencé.
Mec, j'ai eu 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 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 sauter les étapes 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 des dossiers 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 dans 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 en local et récupérez la dernière source, et vous aurez une ardoise propre pour travailler.
Si vous rencontrez toujours des problèmes, vérifiez que vous n'avez rien modifié manuellement dans le fichier de solution, ou que vous n'avez pas essayé d'autres "trucs" avant de suivre les étapes ci-dessus. Si vous avez modifié quelque chose et l'avez enregistré, vous pouvez envisager de faire un retour en arrière jusqu'au moment où vous avez commencé à renommer le projet.
Bien sûr, vous voudrez également renommer le projet lui-même, dans Solution Explorer. Vous pouvez le faire avant les étapes ci-dessus, mais dans ce cas, assurez-vous d'enregistrer cette modification avant d'appliquer les étapes ci-dessus. Vous pouvez également le faire après, mais assurez-vous de suivre toutes les étapes ci-dessus et d'enregistrer vos modifications avant d'essayer de renommer le nom du projet dans Solution Explorer. Je vous déconseille d'essayer de combiner les étapes ci-dessus avec un renommage du nom du projet dans Solution Explorer. Cela peut fonctionner, mais je vous recommande de le faire dans deux jeux de modifications distincts.
Merci d'avoir introduit une procédure qui fonctionne dans VS2012
! Notez que vous pouvez éviter les étapes 5-10 (c.-à-d. avoir à ramener les dossiers renommés dans Source Control) si, au lieu de cela, vous fermez la solution et renommez ensuite les dossiers dans VS' Source Control Explorer
plutôt que Windows Explorer
.
Ces étapes étaient proches mais le fait de changer l'emplacement du dossier avec l'Explorateur Windows (WE) avant de le renommer dans l'Explorateur de contrôle de source (SCE) a provoqué l'erreur : Folder already exists
. J'ai donc dû renommer le dossier à nouveau en WE
puis le modifier dans SCE
puis copier les fichiers dans ce dossier, avant que cela ne fonctionne. Suivez donc le commentaire de mjv ci-dessus. Je n'ai pas non plus pensé à la nécessité de changer les noms des fichiers du projet (pas seulement dans VS), ce que j'ai fait après coup et qui m'a fait répéter certaines de ces étapes.
Cette approche avec le commentaire de mjv fonctionne également dans Perforce avec le clic droit, l'option Renommer/Déplacer.
Sur La réponse d'andersjanmyr il est plus facile de renommer le projet d'abord.
De plus, une fois ces étapes effectuées, vous voudrez peut-être renommer les autres références à votre ancien nom de projet.
Dans les propriétés du projet, mettez à jour le nom de l'assemblage et l'espace de noms par défaut.
Cela mettra à jour ce qui suit dans le fichier du projet...
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
...et permettra de se débarrasser de l'erreur "Namespace does not correspond to file location, should be : 'SomeProjectName'"
Renommez votre espace de nom racine (si vous avez ReSharper, faites un clic droit sur l'espace de nom et allez Refactor -> Rename).
Changez toutes les occurrences de votre ancien nom de projet dans AssemblyInfo.cs .
En vous basant sur cette réponse, vous pouvez modifier manuellement le fichier de la solution pour que le chemin du projet soit votre nouveau chemin et éviter les avertissements à l'ouverture de la solution. Vous pouvez probablement cliquer sur Project>Properties>AssemblyInfo pour modifier les informations d'assemblage depuis VS et éviter de modifier le fichier AssemblyInfo.cs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
5 votes
Il n'existe pas de moyen simple, en un seul clic, de le faire. Pas depuis Visual Studio, en tout cas.
0 votes
Sur La solution d'andersjanmyr : vous pouvez appuyer sur Alt + Entrée pour faire apparaître la Page des propriétés pour le projet indisponible et y définir la propriété "File Path" ; car elle n'est pas disponible dans le menu contextuel du clic droit du projet indisponible (dans Visual Studio 2008).
0 votes
Cette réponse inclut la procédure pour TFS et est la meilleure réponse globale que j'ai trouvée à ce sujet : stackoverflow.com/a/10853509/10245
0 votes
Je ne mettrai pas cela comme une réponse parce que vous ne devriez pas le faire, mais faire un agent ransack pour le nom du projet et remplacer toutes les références à celui-ci avec le nouveau nom de fichier fonctionne si vous incluez tous les dossiers et sous-dossiers, et à la fois renommer les fichiers et aussi remplacer le texte dans les fichiers. Je l'ai fait plusieurs fois maintenant, jamais avec plus de quelques minutes de nettoyage après.
0 votes
Pour VS 2019, si votre projet est en cours d'exécution, alors vous ne pouvez pas renommer le dossier (le clic droit de votre souris sur le dessus du dossier n'affiche pas l'option "Renommer"). Arrêtez le processus en cours d'exécution et réessayez.
1 votes
@Marco cela ne changera que le nom du projet dans VS, pas le nom du dossier du projet. J'ai fait cela et maintenant mon nom de projet est différent mais le dossier du projet est toujours le même, encore plus confus. À partir de 2019, j'ai également dû supprimer le projet de la solution, renommer le dossier, puis ajouter à nouveau le projet.
0 votes
Avec VS 2019, c'était super facile pour moi ! Juste renommé le projet dans VS et ensuite mis à jour la référence de l'ancien nom dans .sln dans notepad, après cela renommé le nom du dossier du projet dans le répertoire. C'est tout. J'utilise git, il a déjà récupéré les changements à commettre (pour supprimer l'ancien_Dossier du repo et ajouter le nouveau_Dossier dans les changements en attente. Tout s'est bien passé pour moi. Juste au cas où vous pouvez essayer ceci dans une branche séparée pour ne pas vous embêter si quelque chose ne va pas.
0 votes
En regardant les 3 réponses les plus votées, je vois qu'elles impliquent toutes l'édition. Je préfère les réponses qui n'impliquent pas d'édition. Si vous préférez ne pas éditer, votre méthode pourrait être la meilleure même en l'an 2021.