2016-04-13 8 views
0

Ich habe ein N-Layer-Projekt und wenn ich die ContextBoundersies definiere benutze ich um es während der Entwicklung zu ändern. Zum Beispiel habe ich diese Klasse:Wie wird ein Datei-Namespace umgestaltet?

namespace Domain.Entities.Item 
public class ItemForSale 
{ 

} 

Diese Klasse ist jetzt in den Entites/Item Ordner in der Lösung. Aber während der Entwicklung merke ich, dass diese Klasse im Ordner Sell mehr Sinn macht, so sollte der Namensraum namespace Domain.Entities.Sell sein. Nun, das Problem ist, dass ich viele Referenzen dieser Klasse in einer Reihe von Schichten Projekten habe, so ist es immer ein Schmerz, es von Hand zu refaktorieren.

Gibt es eine Möglichkeit, es zu konfigurieren, oder eine kostenlose Erweiterung (Nachschärfen, aber es ist nicht kostenlos), die diesen Job machen?

Im mit Visual Studio 2015 Danke!

+0

Sie haben _have_ nicht, damit die Namespaces den Ordnern entsprechen. Einige Tools werden Sie wissen lassen, ob eine Diskrepanz besteht, und Ihnen eine Option zum Beheben geben, aber das ist nicht erforderlich. Wenn Sie nach einer Tool-Re-Emmendation fragen, dann ist das explizit Thema für SO. –

+0

Ja, aber wenn ich eine Klasse in diesem Ordner erstelle, legt VS automatisch den Namespace fest, der dem aktuellen Ordner entspricht. – gog

+1

Ich weiß, Sie wollen nicht "Resharper" als Antwort, aber es ist wirklich die Antwort. – hoodaticus

Antwort

0

Ja, das ist nur eine Eigenschaft von VS2015. Sie können mit der rechten Maustaste auf den Namespace klicken, den Sie ändern möchten, und dann unter dem Dropdown-Menü die Option "Umbenennen" auswählen. Es aktualisiert alle Referenzen innerhalb der Lösung. Wenn Sie also mehrere Projekte in Ihrer Lösung haben, werden diese alle mit dem neuen Namen aktualisiert.

(Außerdem gibt es eine als auch Tastaturkürzel. Sie den Namespace klicken, können Sie ändern möchten, und dann auf der Tastatur drücken F2, um das Umbenennen-Menü aufzurufen.)

+0

Tatsächlich können Sie ab VS2015 nicht in einen mehrteiligen Namespace umbenennen (dies funktionierte größtenteils in früheren Versionen) – SLaks

0

Wenn das Problem nicht häufig ist Dann können Sie die Option Ersetzen in Dateien verwenden, um alle alten Namespace-Vorkommen durch neue zu ersetzen. Verwenden Sie einfach Crtl + Umschalt +H, dafür vorgesehenen Felder ein und wählen Sie Blick in Option in Entire Lösung suchen.