448 Stimmen

Ich möchte alle bin- und obj-Ordner löschen, um alle Projekte dazu zu zwingen, alles neu zu erstellen.

Ich arbeite mit mehreren Projekten und möchte alle Ordner mit dem Namen 'bin' oder 'obj' rekursiv löschen, um sicherzustellen, dass alle Projekte alles neu erstellen (manchmal ist dies der einzige Weg, um Visual Studio dazu zu zwingen, alle vorherigen Builds zu vergessen).

Gibt es einen schnellen Weg, dies zu erreichen (mit einer .bat-Datei zum Beispiel), ohne ein .NET-Programm schreiben zu müssen?

80 Stimmen

Es wäre schön, wenn Build->Clean Solution dies tatsächlich tun würde.

2 Stimmen

Es gibt ein Plugin, das ich gefunden habe namens CleanBinAndObj, das alle bin und obj Ordner löscht. Sehr effektiv für einzelne Lösungen mit vielen Projekten.

3voto

Iman Punkte 16668

Von Verwendung von Windows PowerShell zum Entfernen von Obj-, Bin- und ReSharper-Ordnern

sehr ähnlich zu der Antwort von Robert H mit kürzerer Syntax

  1. Führen Sie PowerShell aus
  2. cd(change dir) zum Stammordner Ihres Projektordners
  3. Fügen Sie den unten stehenden Befehl ein und führen Sie ihn aus

    dir .\ -include bin,obj,resharper* -recurse | foreach($) { rd $_.fullname –Recurse –Force}

3voto

habakuk Punkte 2564

Schauen Sie sich das CleanProject an. Es wird bin-Ordner, obj-Ordner, TestResults-Ordner und Resharper-Ordner löschen. Der Quellcode ist ebenfalls verfügbar.

0 Stimmen

Das Projekt scheint hierhin verlegt worden zu sein: code.msdn.microsoft.com/windowsdesktop/…

2voto

Juozas Kontvainis Punkte 9051

Ich hasse es eigentlich, wenn Objektdateien die Quellbäume verunreinigen. Normalerweise richte ich Projekte so ein, dass sie Objektdateien außerhalb des Quellbaums ausgeben. Für C#-Projekte verwende ich normalerweise

 ..\..\obj\$(AssemblyName)\$(Configuration)\

Für C++-Projekte

 IntermediateDirectory="..\..\obj\$(ProjectName)\$(ConfigurationName)"

1voto

KL XL Punkte 11

Sie könnten tatsächlich den PS-Vorschlag ein wenig weiterführen und eine vbs-Datei im Projektverzeichnis wie folgt erstellen:

Option Explicit
Dim oShell, appCmd
Set oShell  = CreateObject("WScript.Shell")
appCmd      = "powershell -noexit Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse -WhatIf }"
oShell.Run appCmd, 4, false

Zur Sicherheit habe ich den Parameter -WhatIf hinzugefügt, also entfernen Sie ihn, wenn Sie mit der Liste beim ersten Durchlauf zufrieden sind.

1voto

Joel Martinez Punkte 45129

http://vsclean.codeplex.com/

Befehlszeilentool, das Visual Studio-Lösungen findet und den Befehl "Clean" darauf ausführt. Damit können Sie die /bin/*-Verzeichnisse all dieser alten Projekte aufräumen, die noch auf Ihrer Festplatte herumliegen.

CodeJaeger.com

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.

Powered by:

X