Entfernen Sie temporäre Dateien im Visual Studio Solution-Ordner

7

Ich bereite eine Reihe visueller Studio-Projekte / -Lösungen aus verschiedenen Quellen auf, und es gibt unglaublich viele temporäre Dateien und temporäre Ordner in jeder Lösung.

Ich frage mich, welche Dateitypen sicher gelöscht werden können, so dass ich ein Skript schreiben kann, das sich um das Heavy Lifting kümmert, so dass es weniger Müll gibt, wenn ich versuche, die gesamte Ordnerstruktur zu organisieren und zu verlinken die richtigen freigegebenen Dateispeicherorte.

Soweit ich sehen kann, sind die folgenden Dateien und Ordner temporär und können sicher gelöscht werden:

Dateien

  • * .sdf
  • *. sln.docstates
  • *. suo
  • *. upgradenlogxml
  • *. Benutzer
  • *. vcxproj.filters
  • * .snn.old
  • *. suo.old
  • UpgradeLog.XML
  • *. wixproj.vspscc
  • *. csproj.vspscc
  • * .SCC
  • * .ncb
  • *. opt
  • * .plg
  • *. aps
  • * .clw

Ordner

  • _UpgradeReport_Files (Ordner)
  • ipch (Ordner)
  • bin, obj, debug, release und andere Build-Output-Ordner, obwohl hier Dateien während des Builds ...
  • hineinkopiert werden könnten
  • Backup, Backup1, etc ...

Ich bin nicht einmal sicher, was einige dieser Dateitypen wirklich sind, ich weiß nur, dass sie neu generiert werden, wenn Sie die Lösung öffnen - und ich weiß, dass es viel mehr Dateitypen gibt, die ich von älteren und neueren Versionen verpasst habe Visual Studio.

Gibt es irgendwelche Dateitypen, die in der obigen Liste erhalten bleiben sollen? Wenn ja, aus welchem ​​Grund, und gibt es weitere Dateitypen, die ohne ernsthafte Nebenwirkungen entfernt werden können?

Die allgemeine Idee besteht darin, die Größe und Komplexität der Lösung zu minimieren, wenn sie migriert, verschoben, reorganisiert oder auf andere Weise gemischt werden soll, damit dieses "Lösungsfett" ein ernsthaftes Leistungs- und Verwaltungsproblem darstellt.

Normalerweise sehe ich dieses Problem, wenn ich etwas in ein neues Quellcodeverwaltungssystem einchecken, den Quellcode per E-Mail versenden oder senden oder einen Drittanbieter- oder Peer-Code in eine bestehende Hierarchie von freigegebenen Ordnern und Dateien einfügen muss.

    
Stein Åsmul 14.09.2012, 16:03
quelle

2 Antworten

11

Ich stimme Ihrer Liste mit "temporären" Dateien nicht zu - sicherlich sind nur wenige von ihnen temporärer Natur (ansonsten wären sie im Verzeichnis% TEMP%). Zugegeben, die meisten von ihnen sind nicht notwendig für Ihr Projekt erfolgreich zu bauen, aber sie sind immer noch wichtig.

  • sdf - SQL Server Compact-Datenbank. Wird von VS2012 zum Speichern von VC-IntelliSense-Daten verwendet. Ohne diese Datei erhalten Sie keine Intellisense und Code-Vervollständigung, bis sie neu erstellt wird.
  • sln.docstates - Speichert temporäre Statusinformationen über Dateien in Ihrer Lösung.
  • suo - Enthält Informationen zu den IDE-Anpassungseinstellungen für einzelne Lösungen, z. B. Fensterlayout und Toolbox-Loadout. Es ist normalerweise sicher, dies zu löschen, aber Ihre Lösung kann in Zukunft länger geladen werden und Sie verlieren alle Benutzeroberflächenanpassungen.
  • updalemog.xml - Ja, die Upgrade-Log-Dateien sind ein wenig durcheinander. Dies kann gelöscht werden.
  • user - Ich bin sicher, das ist eine alte Datei von VC6 Tagen ...
  • vcxproj.filters - Behalte dies, es ist eine pro Computer / pro Projekt Dateisystem-Organisationsliste Thingie
  • sln.old - "alte" Dateien sind keine VS-Dateien. Dies sieht wie eine Sicherungsdatei aus, die von einem Benutzer oder Tool erstellt wurde.
  • suo.old -
  • UpgradeLog.XML - dies kann gelöscht werden, wenn Sie das UpgradeLog-Tool nicht verwenden
  • wixproj.vspscc - Löschen Sie diese Datei niemals, wenn Sie die Quellcodeverwaltung verwenden. Es ist Teil der Versionskontrolle von VS. Es ist die Hölle, die versuchen, ungeprüfte Änderungen nach dem Löschen von Bindungsdateien wieder in die Quellcodeverwaltung zu integrieren. Löschen Sie das nur, wenn Sie die Quellcodeverwaltung nicht verwenden.
  • csproj.vspscc - wie oben.
  • SCC - Wird für die Quellcodeverwaltung verwendet. Löschen Sie dies niemals, wenn Sie die Quellcodeverwaltung verwenden.
  • ncb - Intellisense-Cache, der in VC6 bis 2010 verwendet wird. Wenn Sie dies löschen, verlieren Sie VC intellisense, bis die IDE es neu erstellt hat, was bei großen Projekten eine große Rolle spielen kann.

Ich habe keine Ahnung, was diese oder die anderen Dateien sind: .opt, .plg, .aps, .clw

Natürlich besteht der Trick darin, Ihre Dateien in erster Linie richtig in Ihre Lösung einzuordnen. Projektquelldateien sollten getrennt von den Projektmetadaten (dh den oben genannten Dateien) aufbewahrt werden, idealerweise in separaten Ordnern in ihrer eigenen Hierarchie (auf diese Weise können mehrere VC-Projektdateien für denselben Quellcode verwendet werden, sodass die Mitwirkenden VC2005 verwenden können.) 2008 und 2010 zur gleichen Zeit).

    
Dai 14.09.2012, 16:27
quelle
9

Sehen Sie sich die Ordner und Erweiterungen an, die in den Antworten zu diesem Visual aufgeführt sind Studio .gitignore Frage für eine Idee von den Dateien, die gemeinhin als nicht wesentlich angesehen werden.

Allerdings ist es im Allgemeinen keine gute Idee, Dinge zu löschen, wenn Sie nicht wissen, was es ist. Beispielsweise können .sdf-Dateien SQL Server CE-Datenbanken sein, die in einigen Projekten wichtig sein können. Stellen Sie daher sicher, dass Sie irgendwo eine Sicherungskopie erstellen, bevor Sie ein Cleaner-Skript ausführen.

    
Mark Heath 14.09.2012 16:25
quelle

Tags und Links