2016-04-13 1 views
0

J'ai un projet N-Layer et lorsque je définis les ContextBounderies j'utilise pour le changer pendant les besoins du développement. Par exemple, j'ai cette classe:Comment refactoriser un espace de noms de fichier?

namespace Domain.Entities.Item 
public class ItemForSale 
{ 

} 

Cette classe est maintenant dans le dossier Entites/Item dans la solution. Mais pendant le développement je me rends compte que cette classe aura plus de sens dans le dossier Sell, donc l'espace de noms devrait être namespace Domain.Entities.Sell. Eh bien, le problème est que j'ai beaucoup de références de cette classe dans un certain nombre de projets de couches, de sorte qu'il est toujours difficile de le refactoriser à la main.

Y a-t-il un moyen de le configurer, ou une extension gratuite (resharper le faire mais ce n'est pas gratuit) qui fait ce travail? J'ai utilisé Visual Studio 2015 Merci!

+0

Vous n'avez pas besoin que les espaces de noms correspondent aux dossiers. Certains outils vous permettront de savoir s'il y a une discordance et vous donner une option pour le corriger, mais ce n'est pas une obligation. Si vous demandez une recommandation d'outil, cela est explicitement hors sujet pour SO. –

+0

Oui, mais lorsque je crée une classe dans ce dossier VS définit automatiquement l'espace de noms correspondant au dossier en cours. – gog

+1

Je sais que vous ne voulez pas "Resharper" comme réponse, mais c'est vraiment la réponse. – hoodaticus

Répondre

0

Oui, c'est juste une caractéristique de VS2015. Vous pouvez faire un clic droit sur l'espace de noms que vous souhaitez modifier, puis sélectionnez les options "Renommer" dans la liste déroulante. Il mettra à jour toutes les références à l'intérieur de la solution. Donc, si vous avez plusieurs projets dans votre solution, ils seront tous mis à jour avec le nouveau nom.

(En outre, il y a un raccourci clavier aussi bien. Vous pouvez cliquer sur l'espace de noms que vous souhaitez modifier, puis appuyez sur F2 sur votre clavier pour faire apparaître le menu Renommer.)

+0

En fait, à partir de VS2015, vous ne pouvez pas renommer un espace de noms en plusieurs parties (cela a fonctionné, pour la plupart, dans les versions antérieures) – SLaks

0

Si le problème est peu fréquent alors vous pouvez utiliser l'option Remplacer dans les fichiers pour remplacer toutes les occurrences de l'ancien espace de noms par de nouvelles occurrences. Il suffit d'utiliser Crtl +Maj +H, remplissez les champs appropriés et sélectionnez Rechercher dans l'option regarder dans solution complète.