webentwicklung-frage-antwort-db.com.de

Wie entferne ich einen leeren Ordner aus einem Projekt unter TFS-Kontrolle?

Angenommen, ich habe ein Projekt MyLib, unter dem ich einen Ordner mit dem Namen Folder1 erstellt habe. Keine Datei unter diesem Ordner. Das Projekt ist mit TFS verbunden.

Dann möchte ich diesen Ordner Folder1 entfernen. Ich habe es aus dem Kontextmenü gelöscht und das Projekt in TFS eingecheckt. 

Dann überprüfe ich die Daten auf TFS mit Team Explore-> Source Control, Ordner1 wird gelöscht. Ich habe VS 2020 geschlossen und Folder1 aus den Witwenstores gelöscht. Ich kann es nicht lokal von MyLib entfernen!

Verwirrt. Wie kann dieses Problem gelöst werden?

62
KentZhou

Erstellen Sie einfach eine Datei innerhalb des Ordners und löschen Sie sie zusammen mit der neuen Datei. TFS hat einige Probleme mit leeren Ordnern, wenn Sie versuchen, diese zu löschen.

132
sra

Mach Folgendes:

  1. Öffnen Sie in Visual Studio den "Projektmappen-Explorer".

  2. Klicken Sie mit der rechten Maustaste auf das betreffende Projekt und wählen Sie "Projekt entladen".

  3. Klicken Sie mit der rechten Maustaste auf das entladene Projekt (sollte abgestuft sein), und wählen Sie "Bearbeiten (Projekt)".

  4. Suchen Sie im XML-Editor (der gerade geöffnet wurde) nach dem problematischen Ordnernamen (STRG + F, um das Fenster "Suchen" aufzurufen, und suchen Sie im aktuellen Dokument nach dem Ordnernamen).

  5. Wenn die Suche abgeschlossen ist, sollte im XML-Editor der XML-Knoten hervorgehoben werden, der den Ordnernamen enthält (meistens in einem Knoten, der Visual Studio anweist, den betreffenden Ordner in die Kompilierung des Projekts aufzunehmen (über MSBuild.) )). Löschen Sie einfach den Knoten, der den Namen des Ordners enthält.

  6. Speichern Sie die Änderungen und schließen Sie den Editor.

  7. Gehen Sie zurück zum Projektmappen-Explorer, klicken Sie mit der rechten Maustaste auf das ausgegraute Projekt und wählen Sie "Projekt neu laden".

  8. Kompilieren und checken Sie das Projekt ein. Stellen Sie sicher, dass Sie den physischen Ordner aus Windows Explorer löschen (sofern er noch vorhanden ist).

Edit Von Hakam Fostok: Wenn sich Ihr Projekt unter TFS befindet, müssen Sie nach dem Anwenden der vorherigen Schritte möglicherweise den Source Controler Explorer öffnen und den Ordner dort ebenfalls löschen

48
Daniel Weisel

Wenn Sie mit der rechten Maustaste auf das Projekt klicken und Projektdatei bearbeiten auswählen, können Sie den Eintrag für den betreffenden Ordner löschen. Nachdem Sie das Projekt gespeichert und neu geladen haben, können Sie die Ordner von Ihrer Festplatte und anschließend die Quellcodeverwaltung löschen.

2
user588035

Entschuldigung für die verspätete Antwort. Ich habe es versäumt, Ihre Antwort zu überprüfen.

Der obige Fehler weist darauf hin, dass der Ordner möglicherweise von einem anderen Benutzer ausgecheckt und gesperrt wird.

Können Sie in Source Control den Status des Ordners als Checkout & Lock sehen?

Wenn ja, können Sie Status Sidekick von TFS Sidekicks verwenden und versuchen, den Ordner ( http://www.attrice.info/cm/tfs/ ) zu entsperren.

Versuchen Sie dann erneut, den Ordner zu löschen.

1
Jehan33

Sie können die Get Specific-Version ausprobieren. Klicken Sie mit der rechten Maustaste auf den übergeordneten Ordner der Datei in der Quellcodeverwaltung und wählen Sie Bestimmte Version abrufen. Das Fenster wird geöffnet. Klicken Sie hier, geben Sie Typ als neueste Version ein und aktivieren Sie die beiden verfügbaren Kontrollkästchen.

1
Jehan33

Ich versuchte die Lösung, um eine neue Datei hinzuzufügen und den Ordner mit der Datei zu löschen, schlug jedoch fehl.

Meine Lösung bestand darin, zuerst den physischen Ordner zu löschen und dann den Code bei TFS . Anzumelden. (Die Änderungsliste enthält das Löschen des Ordners.)

Nach der Anmeldung können Sie den Ordner im Projektmappen-Explorer löschen.

0
Alan Feng

Erstellen Sie einfach eine Datei darin (z. B. eine Klassendatei) - checken Sie ein und dann, nachdem sie (erfolgreich) eingecheckt hat - löschen Sie es und tun Sie es.

Also einfach gesagt: einchecken und dann löschen und es wird funktionieren .. 

0
t_plusplus