Wie kann ich einen Projektordner in Visual Studio umbenennen?

686

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?

andersjanmyr
quelle
4
Es gibt keine einfache Ein-Klick-Methode. Jedenfalls nicht aus Visual Studio heraus.
Matt Hanson
11
Weiß jemand, ob Microsoft dies für die Version 2010 beheben wird?
Vidar
29
Anscheinend nicht, da es 3 Jahre später ist und ich nur andersjanmyrs Prozess durchlaufen musste. :)
Sichinumi
4
Anfrage für Visual Studio-Funktionen: visualstudio.uservoice.com/forums/121579-visual-studio/… los und abstimmen!
Tim Abell
2
Anscheinend ist die Abstimmung fehlgeschlagen, da die Funktion 2018 immer noch nicht unterstützt wird. Wie viele Gigabyte sind erforderlich, um eine Datei nicht zu ändern? 17gbs anscheinend. 17.
Joseph Franciscus

Antworten:

746

TFS-Benutzer: Wenn Sie die Quellcodeverwaltung verwenden, bei der Sie sie vor dem Umbenennen von Dateien / Ordnern warnen müssen, sehen Sie sich stattdessen diese Antwort an, die die erforderlichen zusätzlichen Schritte abdeckt.


So benennen Sie den Ordner , die Datei ( .*proj) und den Anzeigenamen eines Projekts in Visual Studio um:

  • Schließen Sie die Lösung.
  • Benennen Sie die Ordner außerhalb von Visual Studio um. (In TFS umbenennen, wenn die Quellcodeverwaltung verwendet wird)
  • Öffnen Sie die Lösung und ignorieren Sie die Warnungen (antworten Sie mit "Nein", wenn Sie aufgefordert werden, ein Projekt aus der Quellcodeverwaltung zu laden).
  • Gehen Sie alle nicht verfügbaren Projekte durch und ...
    • Öffnen Sie das Eigenschaftenfenster für das Projekt (markieren Sie das Projekt und drücken Sie Alt+ Enteroder F4oder klicken Sie mit der rechten Maustaste auf> Eigenschaften).
    • Setzen Sie die Eigenschaft ' Dateipfad ' auf den neuen Speicherort.
      • Wenn die Eigenschaft nicht bearbeitet werden kann (wie in Visual Studio 2012), öffnen Sie die .slnDatei direkt in einem anderen Editor wie Notepad ++ und aktualisieren Sie stattdessen die Pfade dort. (Möglicherweise müssen Sie die Lösung zuerst in TFS usw. auschecken.)
    • Reload das Projekt - Rechtsklick> Reload - Projekt.
    • Ändern Sie den Anzeigenamen des Projekts, indem Sie ihn markieren und drücken F2oder mit der rechten Maustaste auf> Umbenennen klicken .

Hinweis: Bei anderen Lösungsvorschlägen, bei denen das Projekt entfernt und dann erneut zur Lösung hinzugefügt wird, werden die Projektreferenzen beschädigt.

Wenn Sie diese Schritte ausführen, können Sie auch Folgendes entsprechend umbenennen:

  1. Versammlung
  2. Standard- / Root-Namespace
  3. Namespace vorhandener Dateien (verwenden Sie die Refactor-Tools in Visual Studio oder das inkonsistente Namespace-Tool von ReSharper )

Ändern Sie auch die Werte der folgenden Assembly-Attribute :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
Tim Abell
quelle
24
Für diejenigen, die die Quellcodeverwaltung verwenden, müssten Sie den Ordner auch in der Quellcodeverwaltung umbenennen. Für mich haben die oben genannten Schritte dies nicht getan.
Patrick Szalapski
10
Bei Verwendung von TFS besteht Schritt 2 darin, den Ordner in der Quellcodeverwaltung umzubenennen und dann den neuesten zu erhalten, bevor der sln erneut geöffnet wird.
Amy Patterson
3
Die Dateipfad-Eigenschaft kann in VS2010 bearbeitet werden, nachdem der Ordner umbenannt wurde (und VS das Projekt nicht finden kann)
Jimmy
11
Dies hat bei mir in VS 2012 nicht funktioniert. Die Eigenschaft ist schreibgeschützt. Ich musste die SLN-Datei als Text öffnen.
Grault
3
Huch! All diese Mühe, einen Ordner umzubenennen! Dies war unter MS-DOS einfacher!
Kokodoko
96

Es gibt eine andere Möglichkeit, dies mit den Dateien * .sol, * csproj zu tun.

  1. Öffnen Sie Ihre Lösungsdatei.
  2. Suchen Sie nach dem * .csproj, den Sie ändern möchten.
  3. Es wird so sein (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}"

  4. Und ändern Sie einfach den ersten Teil in das neue Verzeichnis, zum Beispiel:

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. Vergessen Sie natürlich nicht, das gesamte Projekt in dieses Verzeichnis zu verschieben.

Rabashani
quelle
16
Dies funktionierte für mich und nicht für die akzeptierte Antwort, die nicht funktionierte, da die FilePath-Eigenschaft für mich schreibgeschützt war.
TJKjaer
1
danke, das hat sehr geholfen. Stellen Sie außerdem sicher, dass Sie auch die Werte RootNamespace und AssemblyName ändern.
DevDave
@TJKjaer Gleiche.
Dzenesiz
Dies hat bei mir in VS2019 nicht funktioniert. Gibt Warnungen zu nicht vorhandenen Projektreferenzen aus und kompiliert Fehler, wenn die Namespaces und Klassen im referenzierten Projekt fehlen.
Jeff Walker Code Ranger
Dies funktioniert für mich in Visual Studio 2019 mit C # -Projekten. Es ist eine ziemlich einfache Lösung. Für Personen, die beim Kompilieren möglicherweise Probleme haben, empfehle ich, das Projekt vollständig neu zu erstellen, anstatt nur zu kompilieren.
Ein Silva
94

Dies ist in Visual Studio 2015 unkompliziert (funktioniert möglicherweise in älteren Versionen)

  1. Im Projektmappen - Explorer klicken, direkt am Haupt LösungUmbenennen
  2. Klicken Sie im Projektmappen- Explorer mit der rechten Maustaste auf Projekt (unter Lösung) → Umbenennen
  3. Doppelklicken Sie im Projektmappen-Explorer oder klicken Sie mit der rechten Maustaste auf Eigenschaften → Gehe zur Registerkarte Anwendung , benennen Sie den Namen der Baugruppe und den Standard-Namespace entsprechend um.
  4. Wenn Sie den Namespace auch umbenennen möchten, öffnen Sie eine Ihrer Klassendateien. Rechtsklick auf den Namespace → Umbenennen ... . Dies sollte alle Verweise auf Ihren Namespace im gesamten Projekt suchen und ersetzen.
  5. Schließen Sie das Projekt → benennen Sie den Projektordner um .
  6. Bearbeiten Sie die .slnDatei im Editor und ändern Sie den Pfad zum csproj, dh fu\bar.csprojbar\bar.csproj.
wired00
quelle
3
Sie haben vergessen, Projektreferenzen in abhängigen Projekten (falls vorhanden) zu aktualisieren.
Steven Liekens
1
@ JohnPeters Soweit ich sehen kann, wurde diese Antwort nicht bearbeitet. Schritt 5 beschreibt das Umbenennen des Ordners. Wenn Sie diese Schritte ausführen, ändert sich auch der Name des physischen Ordners.
Philip Stratford
Denken Sie daran, Schritt 4 auf den Unterprojektordner anzuwenden (dies war der einzige Schritt, der mir fehlte, damit Schritt 6 funktionierte).
Felipe Gutierrez
54

Mann, habe ich damit gekämpft? Leider gibt es in Visual Studio keine Ein-Klick-Lösung. Wenn Sie jedoch Visual Studio 2012 ausführen und Ihr Projekt mit Team Foundation Server unter Quellcodeverwaltung steht, habe ich Folgendes ausgeführt, während der Quellverlauf beibehalten wurde:

(Stellen Sie sicher, dass Sie den Kommentar von @ mjv unten lesen, da er feststellt, dass Sie Schritt 5-10 überspringen können.)

  1. Stellen Sie sicher, dass Sie alle Änderungen eingecheckt haben, damit keine Änderungen ausstehen.
  2. Entfernen Sie das Projekt aus der Lösung, indem Sie mit der rechten Maustaste klicken und Entfernen auswählen .
  3. Benennen Sie nun im Windows Explorer den Projektordner um.
  4. Kehren Sie zu Visual Studio zurück, klicken Sie im Projektmappen- Explorer mit der rechten Maustaste auf die Lösung und wählen Sie Hinzufügen -> Vorhandenes Projekt . Wählen Sie die Projektdatei für das Projekt aus, das Sie in Schritt 2 entfernt haben und die sich im umbenannten Ordner befinden soll.
  5. Jetzt ist das Projekt wieder in der Lösung, aber das Projekt scheint nicht zur Quellcodeverwaltung hinzugefügt zu werden. Um dies zu beheben, öffnen Sie den Quellcodeverwaltungs-Explorer.
  6. Suchen Sie den Projektordner im Versionsverwaltungs-Explorer, der dem Projektordner auf Ihrer Festplatte entspricht, den Sie in Schritt 3 umbenannt haben.
  7. Benennen Sie den Ordner im Versionsverwaltungs-Explorer um, sodass er denselben Namen wie der Projektordner auf der Festplatte hat.
  8. Sehen Sie sich nun Ihre ausstehenden Änderungen an. Sie sollten Änderungen an der Lösungsdatei und einen Umbenennungsvorgang für den Projektordner haben.
  9. Führen Sie einen Neuaufbau durch und stellen Sie sicher, dass alles korrekt kompiliert wird. Wenn Sie projektübergreifende Verweise auf das Projekt hatten, das Sie umbenannt haben, müssen Sie diese erneut zu den einzelnen Projekten hinzufügen, die darauf verwiesen haben.
  10. Sie sollten jetzt fertig sein. Geh und check alles ein.

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 entfernen Sie die Ordnerzuordnung in Ihrem Arbeitsbereich. Starten Sie Visual Studio für alle Fälle neu. Stellen Sie sicher, dass Sie die gesamte Lösung tatsächlich von Ihrem Computer gelöscht haben. Lesen Sie nun die Lösungszuordnung zu Ihrem Arbeitsbereich und holen Sie sich die neueste Version. Versuchen Sie nun die obigen Schritte. Gleiches gilt, wenn beim Befolgen der obigen Schritte etwas schief geht. Löschen Sie einfach Ihre Lösung lokal und holen Sie sich die neueste Quelle, und Sie haben einen sauberen Plan, mit dem Sie arbeiten können.

Wenn Sie immer noch Probleme haben, stellen Sie sicher, dass Sie nichts manuell in der Lösungsdatei geändert oder andere Tricks ausprobiert haben, bevor Sie die obigen Schritte ausführen. Wenn Sie etwas geändert und eingecheckt haben, sollten Sie ein Rollback bis zu dem Punkt in Betracht ziehen, an dem Sie mit dem Umbenennen des Projekts begonnen haben.

Natürlich möchten Sie auch das Projekt selbst im Projektmappen-Explorer umbenennen. Sie können dies vor den obigen Schritten tun. Stellen Sie jedoch in diesem Fall sicher, dass Sie diese Änderung einchecken, bevor Sie die obigen Schritte anwenden. Sie können dies auch später tun. Stellen Sie jedoch sicher, dass Sie zuerst alle oben genannten Schritte ausführen und Ihre Änderungen einchecken, bevor Sie versuchen, den Projektnamen im Projektmappen-Explorer umzubenennen. Ich empfehle nicht, die obigen Schritte mit einer Umbenennung des Projektnamens im Projektmappen-Explorer zu mischen. Es könnte zwar funktionieren, aber ich würde empfehlen, es in 2 separaten Änderungssätzen zu tun.

René
quelle
10
Vielen Dank für die Einführung eines Verfahrens, das funktioniert VS2012! Beachten Sie, dass Sie die Schritte 5 bis 10 vermeiden können (dh die umbenannten Ordner in der Quellcodeverwaltung wiederherstellen müssen), wenn Sie stattdessen die Lösung schließen und dann die Ordner in VS' Source Control Exploreranstatt umbenennen Windows Explorer.
MJV
2
Diese Schritte wurden geschlossen, aber das Ändern des Ordnerorts mit Windows Explorer (WE) vor dem Umbenennen in Source Control Explorer (SCE) verursachte den Fehler : Folder already exists. Also musste ich den Ordner erneut umbenennen, WEdann ändern SCEund dann die Dateien in diesen Ordner kopieren, bevor es funktionierte. Folgen Sie also dem Kommentar von mjv oben. Ich habe auch nicht daran gedacht, die tatsächlichen Projektdateinamen (nicht nur in VS) ändern zu müssen, was ich nachträglich getan habe, um einige dieser Schritte zu wiederholen.
CaptainBli
Dieser Ansatz mit dem Kommentar von mjv funktioniert in Perforce auch mit der rechten Maustaste, Option Umbenennen / Verschieben.
Santos
Sie können vermeiden, Projektreferenzen zu brechen, siehe stackoverflow.com/a/10853509/10245
Tim Abell
@ TimAbell Haben Sie dieses Verfahren in VS2012 ausprobiert und hat es für Sie funktioniert? Bevor ich meine Antwort ursprünglich schrieb, habe ich das versucht, aber es hat bei mir nicht funktioniert, da der Projektpfad im Eigenschaftenfenster immer schreibgeschützt war. Und es hat auch nicht funktioniert, die SLN-Datei zu bearbeiten.
René
33

Zurzeit nicht. Nun, tatsächlich können Sie auf den defekten Projektknoten klicken und im Eigenschaftenbereich nach der Eigenschaft 'Pfad' suchen, auf das kleine Suchsymbol klicken und den neuen Pfad auswählen.

Voilà :)

mortenbpost
quelle
2
Bei Verwendung von VS2015 lautet der Eigenschaftsname "Entladene Projekteigenschaften" "Dateipfad" und der Wert kann weder bearbeitet noch durchsucht werden.
William
29

Die einfachere Lösung ist die folgende:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und benennen Sie es um.
  2. (optional) Öffnen Sie die Eigenschafteneinstellungen des Projekts und ändern Sie den Assemblynamen (und optional den Standardnamespace), um den neuen Projektnamen zu verwenden.
  3. (optional) Wählen Sie den Namespace-Namen in einer Quelldatei aus, klicken Sie mit der rechten Maustaste und wählen Sie Refactor / Rename , um den Namespace global in den neuen Projektnamen umzubenennen.
  4. (optional) Öffnen Sie die Datei AssemblyInfo.cs und ändern Sie den Namen der Assembly entsprechend.
  5. Speichern und schließen Sie die Lösung.
  6. Benennen Sie den Projektordner mit Windows Explorer in den neuen Namen um.
  7. Öffnen Sie die SLN-Datei in einem Texteditor, suchen Sie den Verweis auf den Projektpfad und ändern Sie ihn, um den neuen Ordnernamen zu verwenden.

Es sind vier Schritte erforderlich, aber sieben werden empfohlen. Am Ende des Tages wird das Projekt jedoch komplett umbenannt. Technisch gesehen muss der Ordnername für das Projekt nicht mit dem Projekt selbst übereinstimmen, sodass selbst dieser Schritt optional ist. Es kann jedoch verwirrend sein, wenn sie nicht übereinstimmen. Gleiches gilt für die Assembly- und Namespace-Namen.

Md. Shafiqur Rahman
quelle
Alternativer Schritt 7: Öffnen Sie die SLN-Datei mit VS, ignorieren Sie Warnungen (klicken Sie auf "OK"), wählen Sie die Projekte im Projektmappen-Explorer aus, drücken Sie F4 und aktualisieren Sie den Dateipfad. Optionaler Schritt 0: Klicken Sie mit der rechten Maustaste auf die Lösung und benennen Sie sie um.
Martin Schneider
6
Unglaublich, wie schwer Microsoft einige Dinge macht
Alex
1
Dies funktionierte für mich in Visual Studio Community 2017. Die akzeptierte Antwort funktionierte nicht (für mich); Die Eigenschaft, die geändert werden musste, ist für mich schreibgeschützt und kann im Eigenschaftendialog nicht geändert werden.
Codingatty
10

In der Antwort von andersjanmyr ist es einfacher, das Projekt zuerst umzubenennen.

  1. Benennen Sie das Projekt um.
  2. Schließen Sie die Lösung (speichern Sie sie).
  3. Benennen Sie die Ordner außerhalb von Visual Studio um.
  4. Öffnen Sie die Lösung und ignorieren Sie die Warnungen.
  5. Gehen Sie alle nicht verfügbaren Projekte durch und setzen Sie die Eigenschaft 'Dateipfad' auf den neuen Speicherort Ihrer Projektdatei, dh someproject.csproj .
  6. Laden Sie das Projekt neu.

Nachdem diese Schritte ausgeführt wurden, möchten Sie möglicherweise andere Verweise auf Ihren alten Projektnamen umbenennen.

Aktualisieren Sie in den Projekteigenschaften den Assemblynamen und den Standardnamespace.

Dadurch wird Folgendes in der Projektdatei aktualisiert ...

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

... und wird den Fehler "Namespace entspricht nicht dem Speicherort der Datei, sollte lauten: 'SomeProjectName'"

Benennen Sie Ihren Root-Namespace um (wenn Sie ReSharper haben, klicken Sie mit der rechten Maustaste auf den Namespace und gehen Sie zu Refactor -> Rename).

Ändern Sie alle Vorkommen Ihres alten Projektnamens in AssemblyInfo.cs .

CRice
quelle
Aufbauend auf dieser Antwort können Sie die Lösungsdatei manuell bearbeiten, sodass der Pfad zum Projekt Ihr neuer Pfad ist, und Warnungen beim Öffnen der Lösung vermeiden. Sie können wahrscheinlich auf Projekt> Eigenschaften> AssemblyInfo klicken, um die Assemblyinformationen in VS zu bearbeiten und das Bearbeiten der Datei AssemblyInfo.cs zu vermeiden.
H2ONaCl
8

Für Visual Studio 2017 können Sie meine Visual Studio-Erweiterung verwenden:

Herunterladen

Das Projekt wird umbenannt in:

  • Der Projektspeicherortordner
  • Die Lösungsdatei
  • Referenzen in anderen Projekten
  • Der Name der Baugruppe, Informationen
  • Der Standard-Namespace
Kuanysh
quelle
genial! müde von all den manuellen Umbenennungen, die ich in der Vergangenheit machen musste. Funktioniert gut. In einem anderen Paket wurde jedoch keine Zeichenfolgenreferenz gefunden. Ich bin mir nicht sicher, ob das beabsichtigt ist.
frostymarvelous
Danke. aber ich habe folgendes nicht verstanden: "string referenz in einem anderen paket". Kannst du es erklären?
Kuanysh
Ich habe also ein Testprojekt und ich habe es auch [assembly: InternalsVisibleTo("MyTests")]. Beim Umbenennen MyTestswurde diese Referenz nicht umbenannt. Auch hier denke ich nicht, dass dies in Ihren Zuständigkeitsbereich fällt und es einfach ist, es manuell zu lösen.
frostymarvelous
1
Diese Erweiterung setzt voraus, dass der Ordner derzeit denselben Namen wie das Projekt hat (vor dem Umbenennen). Wenn sie sich unterscheiden, schlägt das Umbenennen fehl :( Ich habe auch "Namespaces umbenennen" nicht zum Laufen gebracht. Zum Glück habe ich es nur für recht kleine Lösungen verwendet. Ansonsten großartig!
savehansson
1
@MassimilianoKraus Ich mache die Erweiterung privat, wegen der letzten negativen Bewertungen ohne Erklärung auf dem Markt. das tut mir leid. Ich habe den Link aktualisiert
Kuanysh
6

Ich musste dies nur selbst tun (mit Visual Studio 2010). Wie einige Leute geantwortet haben, scheint der einfachste Schritt zu sein:

  1. Schließen Sie das Visual Studio-Projekt.
  2. Öffnen Sie die SLN-Datei und benennen Sie das Projektverzeichnispräfix für jedes der .csproj-Vorkommen um.
  3. Speichern Sie die SLN-Datei
  4. Benennen Sie das eigentliche Projektordnerverzeichnis auf Ihrer Festplatte um, um es an Ihre Änderungen in der SLN-Datei anzupassen.
  5. Öffnen Sie die SLN-Datei (in Visual Studio) und erstellen Sie sie neu
John Im
quelle
5

Für diejenigen, die Visual Studio + Git verwenden und den Dateiversionsverlauf beibehalten möchten (funktioniert das Umbenennen von Projekten und / oder Lösungen):

  1. Schließen Sie Visual Studio

  2. Duplizieren Sie in der .gitignore-Datei alle Ignorierpfade des Projekts, das Sie umbenennen möchten, mit umbenannten Versionen dieser Pfade.

  3. Verwenden Sie den Befehl Git move wie folgt:

    git mv <old_folder_name> <new_folder_name>
    

    Weitere Optionen finden Sie in der Dokumentation: https://git-scm.com/docs/git-mv

  4. In Ihrer SLN-Datei: Suchen Sie die Zeile, die Ihr Projekt definiert, und ändern Sie den Ordnernamen im Pfad. Die Linie sollte ungefähr so ​​aussehen:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Öffnen Sie Visual Studio und klicken Sie mit der rechten Maustaste auf Projekt → Umbenennen

  6. Benennen Sie anschließend die Namespaces um.

    Ich habe gelesen, dass ReSharper einige Optionen dafür hat. Aber einfaches Suchen / Ersetzen hat den Job für mich erledigt.

  7. Entfernen Sie alte .gitignore-Pfade.

ivke
quelle
4

Siehe Punkt 3 im verlinkten Artikel .


  1. Schließen Sie die Lösung und die IDE.
  2. Im Windows Explorer: Ändern Sie den Verzeichnisnamen in den neuen Namen.
  3. Im Windows Explorer: Öffnen Sie die SLN-Datei mit einem Texteditor.
  4. Ändern Sie den Verzeichnisnamen in den neuen Namen und speichern Sie.
  5. Starten Sie die IDE neu und öffnen Sie die Lösung über das Menü DateiZuletzt verwendete Dateien, wenn sie nicht automatisch gestartet wird.
  6. Klicken Sie im Projektmappen-Explorer auf den Projektordner und überprüfen Sie die Pfadeigenschaft in den Eigenschaften unten. Es wird nun auf den neuen Projektordner verwiesen.

Es hat bei mir funktioniert.

Jim Lewis
quelle
4

Was hat bei mir in Visual Studio 2017 funktioniert:

  • Schließen Sie die Lösung in Visual Studio
  • Benennen Sie die Verzeichnisse der Projekte in der Lösung um.
    • (Push-Änderung in der Quellcodeverwaltung - Git in meinem Fall)
  • Bearbeiten Sie die SLN-Datei in einem Texteditor (außerhalb von Visual Studio 2017) und ändern Sie den Namen des Verzeichnisses.
  • Öffnen Sie die Lösung erneut in Visual Studio

Es sagte so etwas wie " Projekt erneut hinzufügen ". Ich habe alles wieder aufgebaut und alles war gut zu gehen.

Charles Plager
quelle
1
Außerdem müssen Sie möglicherweise das alte Projekt aus den Abhängigkeiten anderer Projekte entfernen und das neu umbenannte Projekt als neue Abhängigkeit erneut hinzufügen (Klicken Sie mit der rechten Maustaste auf das alte Projekt >> Entfernen und dann mit der rechten Maustaste auf Dependencies>> Add reference>> Wählen Sie Ihr neues Projekt aus )
maxshuty
4

Ich musste das oft tun. Es ist sehr nützlich, ein vorhandenes Projekt wiederzuverwenden, aber Text in Namespaces, Dateien und Ordnern (einschließlich Datei- / Verzeichnisnamen) umzubenennen.

Wenn Sie ein rekursives Suchen und Ersetzen ab dem Stammordner verwenden, werden beim Umbenennen keine Links zu Projekten in den Lösungsdateien und Projektreferenzen unterbrochen.

Zu diesem Zweck habe ich ein Projekt erstellt, um genau dies zu tun. Die Anwendung bemüht sich auch, Versionskontrollordner wie .git, .svn und die .vs-Einstellungsdatei zu ignorieren. Weitere Informationen finden Sie in der README.

https://github.com/garethrbrown/vs-project-rename

Beispiel

gb2d
quelle
2
Gute Arbeit! Ihr Projekt ist eigentlich ein Umbenennungswerkzeug. Ich denke, eines fehlt wirklich: eine Option für ein ganzes Wort.
Eliahu Aaron
4

Eine bewährte Lösung für die Visual Studio-Erweiterung für Data Tools for Business Intelligence (SSDT-BI 2013):

  1. Verschieben Sie den Projektordner an seinen neuen Speicherort (benennen Sie noch nichts um)
  2. Benennen Sie im Projektmappen-Explorer das Projekt / die Lösung um.
  3. Schließen (und speichern) Sie das neu umbenannte Projekt.
  4. Benennen Sie den Projektordner und die SLN-Datei um.
  5. Verwenden Sie einen Texteditor und öffnen Sie die neu umbenannte Projektlösungsdatei (.sln) (ich habe Notepad ++ verwendet ).
  6. In Zeile 6 sehen Sie: "Project {fdjfksdjk4387! ...} =" OLDPROJECT "," OLDFOLDER \ OLDPROJECT.rptproj ". Benennen Sie alles mit den in Schritt 4 verwendeten neuen Namen um. (Dh ... =" NEWPROJECT "," NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. Das ist es!

Es wurde zu 100% getestet und funktionierte in meinem Fall einwandfrei.

HINWEIS: Ich kann nicht bestätigen, ob es unter verschiedenen Projektvorlagen und anderen Visual Studio-Versionen funktioniert. Sichern Sie wie immer alles im Voraus.

Alejandrob
quelle
2

Ich hatte oft das gleiche Problem, ein Projekt in Visual Studio umzubenennen und den Ordnernamen, den Projektnamen und die SLN-Datei zu bearbeiten, um dies zu erreichen. Ich habe gerade ein VBScript- Skript geschrieben, das all das erreicht. Sie müssen vorsichtig mit den Zeichenfolgen sein, die Sie zum Ersetzen auswählen.

Sie müssen nur die .vbs-Datei im selben Verzeichnis wie die .sln-Datei der Lösung ablegen.

' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"

Const ForReading = 1
Const ForWriting = 2

Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)

' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close

' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"

' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
Walküren
quelle
1

Hinweis : Dieser Fix ist für Visual Studio 2008, sollte aber hier funktionieren.

  1. Benennen Sie im Windows Explorer beide Lösungsordner (den übergeordneten Ordner und den untergeordneten Ordner) in den neuen Lösungsnamen um.
  2. Löschen Sie die .slnDatei im übergeordneten Ordner.
  3. Wählen Sie in Visual Studio das Menü DateiProjekt öffnen .
  4. Bohren Sie in den neuen Ordner, den Sie gerade umbenannt haben, und öffnen Sie die .csproj-Datei (im untergeordneten Ordner).
  5. Klicken Sie mit der rechten Maustaste auf den Projektnamen und benennen Sie ihn nach Ihren Wünschen um. (Es sollte derselbe Name sein wie der Ordner in Schritt 1.)
  6. Wählen Sie das Menü DateiLösung schließen . In einem Dialogfeld werden Sie gefragt, ob Sie Änderungen an der .slnDatei speichern möchten . Klicken Sie auf Yes.
  7. In der Datei speichern Dialog, zeigen Sie auf den neu umbenannten geordneten Ordner und klicken Sie auf Speichern . (Hinweis: Stellen Sie sicher, dass die .slnDatei denselben Namen wie der Ordner hat. Sie ist nicht erforderlich, behält jedoch die Konsistenz bei.)

Erledigt.

Robo A GoGo
quelle
1

Bei Verwendung von TFS besteht Schritt 2 darin, den Ordner in der Quellcodeverwaltung umzubenennen und dann den neuesten zu erhalten, bevor die Lösung erneut geöffnet wird.

Amy Patterson
quelle
1

Wir haben kürzlich eine Beta einer kostenlosen Visual Studio-Erweiterung hochgeladen, die dieses Zeug für Sie erledigt.

Schauen Sie sich Visual Studio Gallery: Gallery Download an

user3652868
quelle
1

Nun, ich habe es auf meine Weise gemacht

  • Schließen Sie Visual Studio 2012
  • Benennen Sie Ihr Unterverzeichnis unter .sln in den bevorzugten Namen um
  • Löschen Sie die * .suo-Datei
  • Öffnen Sie die Lösung erneut und korrigieren Sie alle Eigenschaften der geladenen Projekte, um den neuen Namen des Unterverzeichnisses zu erfüllen
Ageroh
quelle
1
  1. Benennen Sie das Projekt in der Lösung und im Projektordner um

  2. Löschen Sie das Projekt aus der Lösung

  3. Fügen Sie das vorhandene Projekt zur Lösung hinzu (Ihr umbenanntes Projekt).

Für mich geht das. TFS wird auch das neue Projekt verfolgen.

Vlad
quelle
1

Öffnen Sie .sln in einem Texteditor und ändern Sie in der folgenden Zeile <Foldername> in Ihren neuen Ordnernamen Project ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965}

Hasala Senevirathne
quelle
3
Bitte erklären Sie, warum / wie dies funktioniert.
Simon.SA
1

Gehen Sie zur SLN-Datei, klicken Sie mit der rechten Maustaste, öffnen Sie sie mit Notepad ++ (oder einem beliebigen Editor; Notepad ++ ist der schnellste), suchen Sie den Pfad und ändern Sie ihn.

Ziad
quelle
0

Öffnen Sie nach dem Ändern des Ordnernamens die SLN-Datei im Editor und ändern Sie den Pfad in einen neuen Pfad.

LastTribunal
quelle
0

Ähnliche Probleme treten auf, wenn ein neues Projekt erstellt werden muss und Sie einen anderen Projektordnernamen als den Projektnamen wünschen.

Wenn Sie ein neues Projekt erstellen, wird es unter gespeichert

./path/to/pro/ject/YourProject/YourProject.**proj

Nehmen wir an, Sie wollten es direkt im jectOrdner haben:

./path/to/pro/ject/YourProject.**proj

Meine Problemumgehung, um dies zu erreichen, besteht darin, das Projekt mit dem letzten Teil des Pfads als Namen zu erstellen, damit kein zusätzliches Verzeichnis erstellt wird:

./path/to/pro/ject/ject.**proj

Wenn Sie das Projekt jetzt in Visual Studio umbenennen, erreichen Sie das Ziel, ohne Visual Studio verlassen zu müssen:

./path/to/pro/ject/YourProject.**proj

Der Nachteil dieses Ansatzes besteht darin, dass Sie den Standard-Namespace und den Namen der Ausgabe-Binärdatei anpassen und die Namespaces in allen Dateien aktualisieren müssen, die in der Projektvorlage enthalten sind.

Etan
quelle
0

Ich verwende Visual Studio 2013 und TFS 2013.

Ich habe es so gemacht:

  1. Öffnen Sie Visual Studio, ohne die Lösung selbst zu öffnen, und verwenden Sie den Quellcodeverwaltungs-Explorer , um Ordner für Projekte zu suchen und umzubenennen
  2. Doppelklicken Sie im Versionsverwaltungs-Explorer auf die Lösungsdatei , um eine Lösung zu öffnen.
  3. Sie erhalten eine Frage: "Zu dieser Lösung wurden kürzlich Projekte hinzugefügt. Möchten Sie sie aus der Quellcodeverwaltung abrufen?" und du wählst Yes.
  4. Jetzt sind der Ordner und die Projektstruktur vorhanden, aber jetzt Dateien, sodass Sie jetzt die neueste Version von der Quellcodeverwaltung erhalten
  5. Versuchen Sie, Änderungen zu erstellen und festzuschreiben.
Muris
quelle
also keine windows explorer dinge. Am Ende können Sie alle lokalen Dateien löschen und ein ganzes (sauberes) Projekt aus der Quellcodeverwaltung abrufen.
Muris
Ich habe gerade herausgefunden, dass es aufgrund der Neuordnung von Ordnern auch möglich ist, dass diese Lösungsdatei einen leeren Ordner erstellt, in dem ein Projekt gespeichert wurde. Öffnen Sie dann die Lösungsdatei im Editor und legen Sie die Anzahl der Eigenschaften SccNumberOfProjects anhand der Anzahl der erstellten leeren Verzeichnisse fest und löschen Sie die entsprechenden Eigenschaften SccProjectUniqueName #, SccProjectName #, SccLocalPath # und andere Eigenschaften mit derselben #.
Muris
0

Es gibt einen einfacheren Ansatz, der in Visual Studio 2013 Update 1 getestet wurde und für Projekte mit TFS-Verbindung gilt:

  • Öffnen Sie Visual Studio, aber lassen Sie die Lösung schließen.
  • Öffnen Sie den Quell-Explorer und benennen Sie den gewünschten Ordner um (die Lösung wird für Sie geschlossen, wenn Sie sie nicht bereits zuvor geschlossen haben).
  • Klicken Sie mit der rechten Maustaste auf die Lösung (auch im Quell-Explorer ) und wählen Sie Einchecken.
  • Öffnen Sie die Lösung. Sie werden informiert, dass neue Projekte hinzugefügt wurden. Akzeptieren Sie, um die Änderungen zu erhalten.
  • Entfernen Sie das Projekt aus der Lösung, fügen Sie es erneut hinzu und checken Sie dann ein.
  • Überprüfen Sie, ob die internen Referenzen in Ordnung sind.
Mohamed Emad
quelle
0

Am einfachsten ist es, zur Eigenschaft des Fensters zu wechseln, den Namen der Standard-Namespaces zu ändern und dann umzubenennen.

hjbjh
quelle
Von welchem ​​Fenster sprichst du? Meinen Sie das Eigenschaftenfenster des Projekts?
Peter Mortensen
0
  1. Benennen Sie das Projekt außerhalb von Visual Studio um.
  2. Bearbeiten Sie your_project_name.sln mit einem Texteditor und benennen Sie den Pfad in den neuen Pfad um.
user1062770
quelle
1
Das scheint der aktuellen Lösung ähnlich und etwas schwieriger zu sein.
Bowlturner
0

Ich habe folgendes gemacht:

<Erstellen Sie eine Sicherungskopie des gesamten Ordners>

  1. Benennen Sie das Projekt in Visual Studio 2013 um (optional / nicht erforderlich).

  2. Exportieren Sie das Projekt als Vorlage.

  3. Schließen Sie die Lösung.

  4. Öffnen Sie die Lösung erneut

  5. Erstellen Sie ein Projekt aus der gespeicherten Vorlage und verwenden Sie den gewünschten Namen.

  6. Löschen Sie das vorherige Projekt aus dem Solution Explorer.

Zu diesem Zeitpunkt habe ich versucht, die neue Lösung zu kompilieren. Dazu musste ich einige Ressourcen und Header manuell aus dem alten Projektordner in den neuen Projektordner kopieren. Tun Sie dies, bis es fehlerfrei kompiliert wird. Jetzt hat dieses neue Projekt die " .exe" -Datei im vorherigen Ordner gespeichert. *

Also ->

  1. Gehen Sie zum Windows Explorer und kopieren Sie die Lösungsdatei manuell aus dem alten Projektordner in den neuen Projektordner.

  2. Schließen Sie die Lösung und öffnen Sie die Lösung aus dem neuen Projekt heraus.

  3. Bei Bedarf wurde die Konfiguration wieder auf (x64) geändert.

  4. Löschen Sie den Ordner des Projekts mit dem alten Namen aus dem Ordner der Lösung.

Peter Mortensen
quelle