Wie verschiebe ich ein Projekt in einen anderen Ordner in Visual Studio? Ich bin in meinen Projekten an diese Struktur gewöhnt.
-- app
---- Project.Something
---- Project.SomethingElse
Ich möchte den gesamten Namespace SomethingElse in SomethingNew umbenennen. Wie geht das am besten (ohne manuell in die SLN-Datei zu wechseln)?
visual-studio
visual-studio-2008
Egor Pavlikhin
quelle
quelle
Antworten:
Entfernen Sie das Projekt aus Ihrer Lösung, indem Sie im Projektmappen-Explorer mit der rechten Maustaste darauf klicken und Entfernen wählen. Verschieben Sie den gesamten Projektordner, einschließlich der Unterverzeichnisse, wo immer Sie möchten. Fügen Sie das Projekt wieder zu Ihrer Lösung hinzu.
Namespace-Namen sind etwas völlig anderes. Bearbeiten Sie einfach den Quellcode.
quelle
Ich habe versucht, das Projekt zu entfernen und erneut hinzuzufügen, aber dann kann das Beheben von Abhängigkeiten schmerzhaft sein.
Ich benutze diesen Ansatz:
quelle
git mv ...
stattmv ...
.git-mv
Weitere Informationen finden Sie in der Dokumentation.quelle
Was für mich funktionierte war:
..\packages
zu..\..\..\packages
da ich das Projekt in einen tieferen Ordner verschoben habe.quelle
Ich hatte das gleiche Problem. Ich löste mit Verschieben die Referenzen und in weniger als 15 Minuten, ohne die Referenzen zu ändern.
Für mich war die Lösung einfach:
Beispiele:
In der Lösungsdatei (.sln)
Original: Projekt ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PATH1.UI", " ScannerPDF \ PATH1.UI \ PATH1.UI.csproj", "{A26438AD-E428-4AE4-8AB8-A5D6933E2D7B } "Project (" {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ") =" PATH1.DataService "," ScannerPDF \ PATH1.DataService \ PATH1.DataService.csproj "," {ED5A561B-3674-4613-ADE5-B136 } "
Neu: Projekt ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PATH1.MX.UI", "PATH1.MX.UI \ PATH1.UI.csproj", "{A26438AD-E428-4AE4-8AB8 -A5D6933E2D7B} "Projekt (" {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ") =" PATH1.DataService "," PATH1.DataService \ PATH1.DataService.csproj "," {ED5A561B-3674-4613-E } "
In der Projektdatei:
Original:
Neu:
Ursprüngliche Referenz: .... \ lib \ RCWF \ 2018.1.220.40 \ TelerikCommon.dll
Neue Referenz: .. \ lib \ RCWF \ 2018.1.220.40 \ TelerikCommon.dll
quelle
Zusammenfassung: Umbenennen und Verschieben in VS2019 mit Git, Beibehalten des Git-Verlaufs, Nutzung von R # ein wenig, automatische Aktualisierung der abhängigen Projektreferenz (wichtig für SLNs mit vielen Projekten, wir haben> 200)
Ich habe die folgenden Schritte ausgeführt, um C # -Projekte in Visual Studio 2019 umzubenennen und zu verschieben. Dieser Prozess verwendet R #, um Namespaces anzupassen. Der Git-Verlauf wird durch Ausführen eines "Git-MV" beibehalten (Vermeidung des Hinzufügens / Löschens des Verlaufs).
Zwei Phasen: 1) Benennen Sie das Projekt an Ort und Stelle um und 2) verschieben Sie das Projekt.
(Verwendet den Tipp von base2 zum Entladen von Projekten.)
Umbenennen
Hinweis: Der Ordner im Windows Explorer bleibt bis zu diesem Punkt der alte Name (z. B. Utils.Foo). Dies ist in den Verschiebungsschritten behoben.
Bewegung
Diese Methode: 1) behält den Git-Verlauf bei, 2) nutzt R #, um Namespaces atomar anzupassen, und 3) aktualisiert abhängige Projekte massenhaft (vermeidet mühsames manuelles Bearbeiten abhängiger sln- und csproj-Dateien).
Entladen Sie alle Projekte in der Lösung (damit das Entfernen des Zielprojekts keine Änderungen in abhängigen Projekten auslöst).
VS | Wählen Sie unter Lösung | alle Lösungsordner aus Klicken Sie mit der rechten Maustaste auf Projekte entladen
Verschieben Sie Ordner mit git (damit der Verlauf beibehalten wird)
a) Öffnen Sie die Developer Command Prompt für 2019
b) Git-Status (um zu veranschaulichen, „nichts zu begehen, Baum sauber zu arbeiten“)
c) git mv das Projekt zB git mv "C: \ Code \ foo \ foo \ Utils.Foo" "C: \ Code \ Foo"
d) Git-Status zum Anzeigen / Überprüfen von Änderungen
VS | Projektmappen-Explorer | Projekt auswählen | Rechtsklick | Entfernen (da alle Projekte entladen werden, werden die Verweise darauf in abhängigen Projekten NICHT entfernt)
a) VS | Projektmappen-Explorer | Wählen Sie den übergeordneten Zielordner aus Rechtsklick | Hinzufügen | Bestehendes Projekt
WICHTIG: Stellen Sie sicher, dass * .csproj-Dateien für abhängige Projekte aktualisiert wurden.
(VS | Team Explorer | Änderungen | Doppelklicken Sie auf alle aufgelisteten abhängigen csproj | Inspizieren-Überprüfen der ProjectReference-Pfadänderung)
Verwenden Sie Notepad ++ (oder einen anderen Texteditor), um die Pfade zu korrigieren. Oft kann dies durch einfaches Suchen und Ersetzen erfolgen (z. B. ../../../../ bis ../../).
Dies wird aktualisiert ...
a) GlobalAssmeblyInfo.cs-Referenzen
b) Pfade zu Paketen
c) Pfade zu Diagrammdateien für die Abhängigkeitsüberprüfung
d) Pfade zu Regelsatzpfaden (z. B.
<CodeAnalysisRuleSet>..\..\..\..\SolutionDependencyValidation\IgnoreWarnings.ruleset</CodeAnalysisRuleSet>
)Alle speichern, Lösung schließen, ich bevorzuge es, bin- und obj-Ordner zu löschen, um den Verlauf zu bereinigen. Lösung erneut öffnen
a) VS | Team Explorer | Änderungen
i) sollte inszenierte Änderungen sehen, die die verschobenen Dateien anzeigen ii) sollte abhängige Projekte (* .csproj) sehen, die gut aktualisiert wurden Überprüfen Sie die csproj-Unterschiede und stellen Sie fest, dass die Pfade schön aktualisiert wurden !! (Dies ist die Magie, die es vermeidet, die csproj-Dateien mühsam manuell mit einem Texteditor zu aktualisieren.)
b) Überprüfen Sie im Windows Explorer, ob der alte Speicherort leer ist
c) Lösung reinigen, Lösung neu erstellen, Komponententests ausführen, Apps in sln starten.
quelle
In VS2012 ist das ganz einfach. Verwenden Sie einfach die Änderungszuordnungsfunktion:
quelle
In Visual Studio Comunity 2019 habe ich das getan, was Victor David Francisco Enrique sagt, musste aber nur den unsichtbaren Ordner .vs löschen
quelle
In VS 2015
MVC
, müssen Sie möglicherweise die Referenz im Referenzmanager hinzufügen.quelle
Ich habe herausgefunden, dass dieser Versuch für mich funktioniert hat.
In der Community-Edition von Visual Studio 2017 wird ein Projekt unter dem Pfad "C: \ Benutzer \ Markierung \ Quelle \ Repos \ Mipmaps \ Mipmaps" erstellt. Dadurch wird ein Zugriff auf das Problem "Datei verweigert" erstellt
Jetzt können Sie das auf diese Weise beheben.
Schließen Sie Ihren Visual Studio-Prozess. Suchen Sie dann Ihr Projekt und kopieren Sie den Projektordner. Erstellen Sie jedoch zuerst einen Unterordner mit dem Namen "Projekte" in Ihrem Visual Studio 2017-Ordner in Dokumenten. Fügen Sie als Nächstes den Projektordner in Ihren Visual Studio 2017-Projektordner ein, nicht den Hauptordner von Visual Studio 2017, der in den Unterordner "Projekte" verschoben werden soll. Starten Sie anschließend Visual Studio 2017 neu. Wählen Sie dann Projektlösung öffnen. Suchen Sie dann Ihr Projekt, das Sie in Ihren Visual Studio 2017-Projektordner eingefügt haben. Bereinigen Sie dann das Projekt und erstellen Sie es neu. Es sollte einwandfrei erstellt und kompiliert werden. Hoffe, das hat allen anderen geholfen. Ich bin mir nicht sicher, warum Microsoft dachte, Ihre Projekte in einem Pfad zu erstellen, in dem Schreibberechtigungen erforderlich sind.
quelle
Ich wollte, dass die Änderungen in Git als Verschiebungen / Umbenennungen angezeigt werden, anstatt sie zu löschen und hinzuzufügen. Also habe ich eine Kombination aus dem oben genannten und diesem Beitrag gemacht .
Und passen Sie die Pfade der Projekte und Baugruppen aus den Nuget-Paketen in der SLN-Datei über einen Texteditor an.
quelle
quelle
Das hat bei mir funktioniert vb2019. Ich habe meinen Quellprojektordner kopiert. Ich habe dann das Projekt eingefügt und den Ordner in einen beliebigen Ordner umbenannt. Um die Verbindung zum Quellprojektordner wiederherzustellen, habe ich den Quellordner vorübergehend umbenannt. Ich habe mein Zielprojekt geöffnet. Die Pfade zu den Formularen und Modulen wurden im lokalen Ordner erneut ermittelt. Ich habe alle meine Formulare und Module durchgesehen, um sicherzustellen, dass sie funktionieren. Ich habe das Projekt geleitet. Ich habe das Projekt geschlossen. Ich habe den Quellprojektordner wieder in den ursprünglichen Namen umbenannt. Ich kann beide Projekte gleichzeitig ohne Fehler öffnen.
quelle
Gruppieren Sie verwandte Projekte mithilfe von Lösungsordnern
Siehe http://msdn.microsoft.com/en-us/library/vstudio/c6c756s6(v=vs.100).aspx
quelle