web-dev-qa-db-fra.com

comment changer l'espace de noms d'un projet entier?

Je modifie l'application de démonstration de cet article: http://msdn.Microsoft.com/en-us/magazine/dd419663.aspx

Je dois mettre à jour tous les fichiers pour utiliser mon espace de noms, par exemple maintenant le fichier situé ici:

MySolution\MyApp\DemoApp\ViewModel\MainWindowViewModel.cs

utilise un tel espace de noms:

namespace DemoApp.ViewModel
{
/// <summary>
/// The ViewModel for the application's main window.
/// </summary>
public class MainWindowViewModel : WorkspaceViewModel

Je dois déplacer le fichier ici (supprimer le dossier DemoApp):

MySolution\MyApp\ViewModel\MainWindowViewModel.cs

et aussi d'utiliser un espace de noms correct:

namespace MyApp.ViewModel
{
....

comment faire cela dans Visual Studio 2010?

Update ok il est possible de dupliquer Modifier l'espace de nom du projet dans Visual Studio Je sais maintenant comment modifier l'espace de nom du projet, mais comment déplacer des fichiers sur le système de fichiers? (se débarrasser du dossier "DemoApp")

85
javapowered

J'imagine un simple Remplacer dans des fichiers (Ctrl+Shift+H) fera à peu près l'affaire; remplacez simplement namespace DemoApp par namespace MyApp. Après cela, générez la solution et recherchez les erreurs de compilation pour les identificateurs inconnus. Tout ce qui est pleinement qualifié DemoAppdevra être remplacé par MyAppname__.

108
Adam Maras

Allez à un endroit où l'espace de noms est déclaré dans l'un de vos fichiers. Placez le curseur sur la partie de l’espace de nommage que vous souhaitez modifier, puis appuyez sur F2. Cela devrait renommer l'espace de noms dans chaque fichier. Au moins, cela a fonctionné dans mon petit projet de démonstration que j'ai créé pour tester cette réponse!

Selon votre version de VS, le raccourci peut également être Ctrl-R,Ctrl-R.

136
Amy

Cliquez avec le bouton droit de la souris sur la solution, accédez à Propriétés, modifiez "l'espace de noms par défaut" dans la section "Application".

 enter image description here

23
Anuja Lamahewa

Ctrl+Shift+H pas la vraie solution.

Vous pouvez utiliser Resharper pour modifier toutes vos définitions d’espaces-noms dans votre solution. C'est le meilleur moyen que j'ai essayé avant.

https://www.jetbrains.com/resharper/features/code_refactoring.html

2
Selçuk Ermaya

J'ai parcouru la structure des dossiers avec un outil appelé BareGrep pour m'assurer que tous les changements d'espace de noms ont été apportés. C'est un outil gratuit qui vous permettra de rechercher les fichiers dans une structure de fichier spécifiée.

1
Michael Murphy

J'ai tout essayé mais j'ai trouvé une solution qui fonctionne vraiment. Il crée une solution indépendante avec un nouveau nom d’espace de noms, etc.

  1. Dans la forme principale, trouvez le nom de l’espace de nom -> clic droit -> Refactor -> Renommer et sélectionnez un nouveau nom. Cochez toutes les cases et cliquez sur OK.

  2. Dans l'explorateur de solutions, renommez le nom de la solution en un nouveau nom.

  3. Dans l'explorateur de solutions, renommez le nom du projet en un nouveau nom.

  4. Fermez VS et renommez le dossier (dans Total Commander par exemple) dans le dossier de la solution en un nouveau nom.

  5. Dans le fichier .sln, renommez l'ancien nom en un nouveau nom.

  6. Supprimer les anciens fichiers .suo (masqués)

  7. Démarrer VS et charger le projet

  8. Projet -> Propriétés -> Modifiez le nom de l’ensemble et l’espace de noms par défaut en un nouveau nom.

0
Maros

Je sais que c'est assez tard, mais j'espère que cette réponse sera utile pour tous ceux qui cherchent à le faire. Si vous avez CodeRush Express ( version gratuite et un 'must have') installé, il constitue un moyen simple de modifier un espace de noms étendu à l'ensemble du projet. Il vous suffit de placer votre curseur sur l’espace de nom que vous souhaitez modifier et il doit afficher un smart tag (une petite boîte bleue) sous la chaîne namespacename__. Vous pouvez soit cliquer sur cette case ou appuyer sur Ctrl + clés pour voir l’option Renamename__. Sélectionnez-le, puis saisissez le nouveau nom de l'espace de noms du projet, cliquez sur Applyet sélectionnez les emplacements à modifier dans votre projet, dans la nouvelle boîte de dialogue et OKname__. Terminé! :-)

0
Kunal

Vous pouvez utiliser CTRL+RCTRL+R ou pour les modifications d’espace de noms complexes, utilisez cet outil https://marketplace.visualstudio.com/items?itemName=vs-publisher-599079.FixNamespace

0
mko

Manière plus simple

Visual Studio

  1. Renommez le nom du projet en "appuyant sur la touche F2" ou "clic droit> renommer"
  2. Faites un clic droit sur le projet et accédez à ses propriétés. Renommez "Nom d'assembly" et "Espace de noms par défaut"

Les deux étapes ci-dessus vont régénérer le fichier .csproj.

Code Visual Studio

  1. Renommez les espaces de noms et ses références en utilisant Rechercher et remplacer dans tous les fichiers. Deux termes à rechercher et à remplacer ici

    "namespace oldProjectName" to "namespace newProjectName"
    "using oldProjectName"  to "using newProjectName"
    
  2. Renommez les dossiers du projet un par un

  3. Modifier les références dans les fichiers .csproj au fur et à mesure que le dossier des projets a été modifié
0
Mohan Ramalingam