751 votes

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

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 ?

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

811voto

andersjanmyr Points 3436

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 :

  • Fermez la solution.
  • Renommez le(s) dossier(s) en dehors de Visual Studio. (Renommer dans TFS si vous utilisez le contrôle de la source)
  • Ouvrez la solution, en ignorant les avertissements (répondez "non" si on vous demande de charger un projet depuis le contrôle de la source).
  • Passez en revue tous les indisponible projets et...
    • Ouvrez le propriétés pour le projet (sélectionnez le projet et appuyez sur Alt + Enter ou F4 ou clic droit > propriétés).
    • Définissez la propriété ' Chemin du fichier ' vers le nouvel emplacement.
      • Si la propriété n'est pas modifiable (comme c'est le cas dans Visual Studio 2012), ouvrez l'onglet .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.)
    • Rechargez le projet - clic droit > recharger le projet.
    • Changez le nom d'affichage du projet, en le mettant en surbrillance et en appuyant sur F2 ou un clic droit sur > renommer .

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 :

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

Envisagez également de modifier les valeurs des éléments suivants attributs de l'assemblage :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

28 votes

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.

11 votes

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.

0 votes

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.

107voto

rabashani Points 351

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

  1. Ouvrez votre fichier de solution.

  2. Recherchez le fichier *.csproj que vous souhaitez modifier.

  3. 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}"

  4. Et changez juste la première partie pour la nouvelle direction par exemple :

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

  5. Bien sûr, n'oubliez pas de déplacer l'ensemble du projet dans ce répertoire.

21 votes

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.

2 votes

Merci, cela m'a beaucoup aidé. Veillez également à modifier les valeurs RootNamespace et AssemblyName.

0 votes

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

54voto

René Points 4134

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

  1. Assurez-vous d'avoir vérifié toutes les modifications, afin de ne pas avoir de modifications en attente.
  2. Supprimez le projet de la solution, en faisant un clic droit et en sélectionnant Retirer .
  3. Maintenant, dans l'Explorateur Windows, renommez le dossier du projet.
  4. Retournez dans Visual Studio, et dans l'explorateur de solutions, faites un clic droit sur la solution et choisissez Ajouter -> Projet existant . Sélectionnez le fichier du 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 source. Pour corriger cela, ouvrez l'explorateur de contrôle de source.
  6. 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.
  7. Renommez le dossier dans l'explorateur de contrôle de la source, afin qu'il porte le même nom que le dossier du projet sur le disque.
  8. Maintenant, jetez un coup d'œil à vos modifications en cours. Vous devriez avoir des modifications du fichier de la solution et une opération de renommage du dossier du projet.
  9. Faites une reconstruction et vérifiez 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 le référencent.
  10. Vous devriez être prêt maintenant. Allez-y et vérifiez tout.

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.

10 votes

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 .

2 votes

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.

0 votes

Cette approche avec le commentaire de mjv fonctionne également dans Perforce avec le clic droit, l'option Renommer/Déplacer.

34voto

mortenbpost Points 1204

Actuellement, non. En fait, vous pouvez cliquer sur le nœud du projet cassé et, dans le panneau des propriétés, rechercher la propriété "Chemin", cliquer sur la petite icône de navigation et sélectionner le nouveau chemin.

Voilà :)

2 votes

Avec VS2015, le nom de la propriété "Unloaded Project Properties" est "File path" et la valeur n'est ni modifiable ni consultable.

11voto

CRice Points 4717

Sur La réponse d'andersjanmyr il est plus facile de renommer le projet d'abord.

  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. Passez en revue tous les projets indisponibles et définissez la propriété 'File Path' (chemin du fichier) sur le nouvel emplacement de votre fichier de projet, c'est-à-dire certainprojet.csproj .
  6. Rechargez le projet.

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 .

0 votes

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

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.

Powered by:

X