Meine aktuelle Lösung zum Umbenennen des Projektordners lautet:
- Entfernen Sie das Projekt aus der Lösung.
- Benennen Sie den Ordner außerhalb von Visual Studio um.
- Fügen Sie das Projekt erneut zur Lösung hinzu.
Gibt es einen besseren Weg?
Meine aktuelle Lösung zum Umbenennen des Projektordners lautet:
Gibt es einen besseren Weg?
TFS-Benutzer: Wenn Sie eine Versionskontrolle verwenden, die Sie vor dem Umbenennen von Dateien/Ordnern warnen muss, schauen Sie sich stattdessen diese Antwort an, die die zusätzlichen Schritte abdeckt.
Um den Ordner, die Datei (.*proj
) und den Anzeigenamen eines Projekts in Visual Studio umzubenennen:
.sln
-Datei direkt in einem anderen Editor wie Notepad++ und aktualisieren Sie dort die Pfade. (Möglicherweise müssen Sie die Lösung zuerst im TFS auschecken, usw.)Hinweis: Andere vorgeschlagene Lösungen, die das Entfernen und erneute Hinzufügen des Projekts zur Lösung beinhalten, werden Projektreferenzen unterbrechen.
Wenn Sie diese Schritte durchführen, sollten Sie auch das folgende ändern, um übereinzustimmen:
Erwägen Sie auch, die Werte der folgenden Assembly-Attribute zu ändern:
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
Für diejenigen, die Quellcodeverwaltung verwenden, müssen Sie den Ordner auch in der Quellcodeverwaltung umbenennen. Für mich haben die obigen Schritte das nicht getan.
Beim Verwenden von TFS ist Schritt 2 tatsächlich das Umbenennen des Ordners in der Quellsteuerung und dann das Abrufen des neuesten vor dem erneuten Öffnen der sln.
Eine zusätzliche Notiz... Möglicherweise müssen Sie auch Ihre Projektverweise innerhalb Ihrer Lösung neu erstellen. Ich habe eine Lösung mit einer Reihe von verknüpften Klassenbibliotheken und musste die Verweise löschen und erneut hinzufügen.
Dies ist einfach in Visual Studio 2015 (funktioniert möglicherweise in älteren Versionen)
.sln
Datei in Notepad und ändern Sie den Pfad zur csproj, d.h., fu\bar.csproj
→ bar\bar.csproj
.
Sie haben vergessen, die Projektverweise in abhängigen Projekten (falls vorhanden) zu aktualisieren.
Erinnern Sie sich daran, Schritt 4 auf den Unterprojektordner anzuwenden (das war der einzige fehlende Schritt für mich, damit Schritt 6 funktionierte).
Wie ich es lese, fragt die Frage nicht, wie der Anzeigename des Projekts in VS oder der Name der .exe geändert werden kann (vielleicht hat der Fragende das bereits getan), sondern wie der Projektdordner (im Dateisystem) umbenannt werden kann und die .sln synchron gehalten werden kann. Daher scheinen nur Schritte 5 und 6 relevant zu sein. Es scheint jedoch die beste Lösung für das Fehlen einer Möglichkeit, dies innerhalb von VS zu tun.
Es gibt einen anderen Weg, dies zu tun, indem man die *.sol, *csproj Dateien verwendet.
Öffnen Sie Ihre Lösungsdatei.
Suchen Sie nach der *.csproj-Datei, die Sie ändern möchten.
Es wird so aussehen (relativ zur *.sol-Datei):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl","Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
Und ändern Sie einfach den ersten Teil in das neue Verzeichnis, zum Beispiel:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Vergessen Sie natürlich nicht, das gesamte Projekt in dieses Verzeichnis zu verschieben.
Dies hat bei mir funktioniert, im Gegensatz zur akzeptierten Antwort, die nicht funktionierte, weil die FilePath-Eigenschaft für mich schreibgeschützt war.
Vielen Dank, das hat sehr geholfen. Stellen Sie außerdem sicher, dass Sie auch die RootNamespace- und AssemblyName-Werte ändern.
Dies hat für mich in VS2019 nicht funktioniert. Es gibt Warnungen über fehlende Projektverweise und Kompilierungsfehler über fehlende Namespaces und Klassen im referenzierten Projekt.
Mann, habe ich damit gekämpft. Leider gibt es keine Ein-Klick-Lösung in Visual Studio, aber wenn Sie Visual Studio 2012 verwenden und Ihr Projekt unter Quellcodeverwaltung mit Team Foundation Server steht, so habe ich es geschafft, es zum Laufen zu bringen, während ich die Quellverlauf behalten habe:
(Stellen Sie sicher, dass Sie den Kommentar von @mjv unten lesen, da er darauf hinweist, dass Sie die Schritte 5-10 überspringen können)
Die obige Anleitung hat bei mir funktioniert. Wenn es bei Ihnen nicht funktioniert, versuchen Sie, Ihre lokale Lösung vollständig zu löschen und die Ordnerzuordnung in Ihrem Workspace zu entfernen. Starten Sie Visual Studio zur Sicherheit neu. Stellen Sie sicher, dass Sie die gesamte Lösung tatsächlich von Ihrem Computer gelöscht haben. Fügen Sie nun die Lösungsabbildung zu Ihrem Workspace hinzu und beziehen Sie die neueste Version. Versuchen Sie nun die obigen Schritte. Das Gleiche gilt, wenn etwas schief geht, während Sie die obigen Schritte befolgen. Löschen Sie einfach Ihre Lösung lokal und beziehen Sie die neueste Quelle, und Sie haben eine saubere Arbeitsfläche.
Wenn Sie immer noch Probleme haben, stellen Sie sicher, dass Sie nichts manuell in der Lösungsdatei geändert haben oder andere 'Tricks' ausprobiert haben, bevor Sie die obigen Schritte ausführen. Wenn Sie etwas geändert und eingecheckt haben, möchten Sie vielleicht erwägen, einen Rollback auf den Zeitpunkt kurz vor dem Beginn des Herummurkens mit der Umbenennung des Projekts durchzuführen.
Natürlich möchten Sie auch das Projekt selbst im Solution Explorer umbenennen. Sie können dies vor den oben genannten Schritten tun, aber in diesem Fall stellen Sie sicher, dass Sie diese Änderung eingeloggt haben, bevor Sie die oben genannten Schritte anwenden. Sie können es auch danach tun, aber stellen Sie sicher, dass Sie zuerst alle oben genannten Schritte befolgen und Ihre Änderungen einloggen, bevor Sie versuchen, den Projektnamen im Solution Explorer umzubenennen. Ich empfehle nicht, die oben genannten Schritte mit einer Umbenennung des Projektnamens im Solution Explorer zu mischen. Es könnte funktionieren, aber ich empfehle, es in 2 separaten Changesets durchzuführen.
Vielen Dank, dass Sie ein Verfahren eingeführt haben, das in VS2012
funktioniert! Beachten Sie, dass Sie die Schritte 5-10 (d.h. das Umbenennen der Ordner innerhalb des Quellcodes erneut in die Versionskontrolle bringen) vermeiden können, wenn Sie stattdessen die Lösung schließen und dann die Ordner innerhalb von VS' Source Control Explorer
umbenennen, anstatt von Windows Explorer
.
Diese Schritte waren nah dran, aber das Ändern des Ordnerorts mit dem Windows Explorer (WE) vor der Umbenennung im Source Control Explorer (SCE) führte zu dem Fehler: Ordner existiert bereits
. Also musste ich den Ordner erneut im WE
umbenennen und dann im SCE
ändern, bevor die Dateien in diesen Ordner kopiert werden konnten, damit es funktionierte. Bitte befolgen Sie den Kommentar von mjv oben. Ich habe auch nicht daran gedacht, dass ich die tatsächlichen Projektnamendateien ändern muss (nicht nur in VS), was ich als Nachsatz gemacht habe, was dazu führte, dass ich einige dieser Schritte wiederholen musste.
Dieser Ansatz mit dem Kommentar von mjv funktioniert auch in Perforce mit der Option Rechtsklick, Umbenennen/Verschieben.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Ich werde das nicht als Antwort einfügen, weil du es nicht tun solltest, aber wenn du eine Agent Ransack-Suche nach dem Projektnamen durchführst und alle Verweise darauf durch den neuen Dateinamen ersetzt, funktioniert es, wenn du alle Ordner und Unterordner einschließt und sowohl Dateinamen umbenennst als auch Texte innerhalb von Dateien ersetzt. Ich habe es schon mehrmals gemacht, nie mit mehr als ein paar Minuten Aufräumarbeiten danach.
0 Stimmen
Für VS 2019, wenn Ihr Projekt läuft, können Sie den Ordner nicht umbenennen (der Rechtsklick Ihrer Maus auf dem Ordner zeigt die Option "Umbenennen" nicht an). Beenden Sie den laufenden Prozess und versuchen Sie es erneut.
8 Stimmen
Es gibt keine einfache, ein-Klick -Möglichkeit, dies zu tun. Zumindest nicht von innerhalb von Visual Studio.
0 Stimmen
Im Lösung von andersjanmyr: können Sie Alt + Enter drücken, um die Eigenschaftsansicht für das nicht verfügbare Projekt aufzurufen und dort die Eigenschaft "Dateipfad" festzulegen; da sie nicht im Kontextmenü des nicht verfügbaren Projekts (in Visual Studio 2008) verfügbar ist.
0 Stimmen
Diese Antwort enthält das Verfahren für TFS und ist die insgesamt beste Antwort, die ich dazu gefunden habe: stackoverflow.com/a/10853509/10245
1 Stimmen
@Marco das ändert nur den Projektname in VS, nicht den Projektmappennamen. Das habe ich gemacht und jetzt ist mein Projektname anders, aber der Projektmappenname ist immer noch derselbe, noch verwirrender. Seit 2019 musste ich auch das Projekt aus der Lösung entfernen, den Ordner umbenennen und dann das Projekt wieder hinzufügen.
0 Stimmen
Mit VS 2019 war es super einfach für mich! Habe das Projekt einfach in VS umbenannt und dann die alte Referenz in .sln in Notepad aktualisiert, danach habe ich den Projektmappennamen im Verzeichnis umbenannt. Das war es. Ich nutze git, es hat bereits die Änderungen erfasst (um old_Folder aus dem Repository zu entfernen und new_Folder in ausstehende Änderungen hinzuzufügen. Es hat einfach gut funktioniert für mich. Nur für den Fall, dass etwas schief geht, können Sie dies in einem separaten Branch ausprobieren, um nichts durcheinander zu bringen.
0 Stimmen
Beim Betrachten der 3 am höchsten bewerteten Antworten sehe ich, dass sie alle Bearbeitungen beinhalten. Ich bevorzuge Antworten, die keine Bearbeitungen beinhalten. Wenn Sie es vorziehen, nicht zu bearbeiten, könnte Ihre Methode sogar im Jahr 2021 die beste sein.
0 Stimmen
Sehr seltsam, es handelt sich um ein fehlendes Feature… :/
0 Stimmen
Ja, benenne es zunächst korrekt
0 Stimmen
.Net 6 mit VS2022, probiere diese Antwort: stackoverflow.com/a/72025102/4393351