Jak w pełni wyczyścić foldery bin i obj w programie Visual Studio?

96

Jeśli klikniesz folder prawym przyciskiem myszy, zobaczysz pozycję menu „Wyczyść”. Zakładałem, że to wyczyści (usunie) katalog obj i bin. Jednak o ile widzę, nic nie robi. Czy jest inny sposób? (proszę nie mów mi, żebym przechodził do Eksploratora Windows lub cmd.exe) Chciałbym usunąć foldery obj i bin, aby móc łatwo spakować całość.

tom7
źródło

Odpowiedzi:

105

Ponieważ inni już odpowiedzieli, program Clean usunie wszystkie artefakty wygenerowane przez kompilację. Ale pozostawi po sobie wszystko inne.

Jeśli masz jakieś dostosowania w projekcie MSBuild, może to oznaczać problemy i pozostawić rzeczy, które Twoim zdaniem powinny zostać usunięte.

Możesz obejść ten problem, wprowadzając prostą zmianę w swoim. * Proj, dodając to gdzieś pod koniec:

<Target Name="SpicNSpan"
        AfterTargets="Clean">
    <RemoveDir Directories="$(OUTDIR)"/>
</Target>

Który usunie wszystko z twojego folderu bin dla bieżącej platformy / konfiguracji.

------ Edytuj Niewielka ewolucja w oparciu o odpowiedź szamana poniżej (podziel się głosami i daj mu trochę)

<Target Name="SpicNSpan"  AfterTargets="Clean">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>

---- Edytuj ponownie z częściami z xDisruptor, ale usunąłem usunięcie .vs, ponieważ byłoby to lepiej obsługiwane w .gitignore (lub równoważnym)

Zaktualizowano dla VS 2015.

<Target Name="SpicNSpan" AfterTargets="Clean"> <!-- common vars https://msdn.microsoft.com/en-us/library/c02as0cs.aspx?f=255&MSPPError=-2147217396 -->
     <RemoveDir Directories="$(TargetDir)" /> <!-- bin -->
     <RemoveDir Directories="$(ProjectDir)$(BaseIntermediateOutputPath)" /> <!-- obj -->
</Target>

Zapewnia również dobrą sugestię, jak ułatwić wdrażanie i konserwację zadania, jeśli masz wiele projektów, w których możesz to zrobić.

Jeśli zagłosujesz na tę odpowiedź, pamiętaj, aby zagłosować również na nich obu.

Newtopian
źródło
17
To najlepsze rozwiązanie, działa, nie wymaga specjalnych narzędzi i zapewnia, że ​​każdy członek zespołu używa tej samej „czystej” metody. Dlaczego MS Visual Studio nie czyści prawidłowo, jest dla mnie kompletną tajemnicą.
Rolf
1
Jest to zdecydowanie najłatwiejsze rozwiązanie do wdrożenia i wykonuje zadanie bez żadnych zewnętrznych wtyczek
tomoguisuru
Nie wiem, jak aktywować / nazwać ten cel. Samo wybranie „Wyczyść” wydaje się nic nie robić. Jak więc tego używać?
aliceraunsbaek
przepraszam, właśnie zobaczyłem twój komentarz. Określenie AfterTargets = "Clean" podłączy cel do wewnętrznego czystego celu VisualStudio. Jednak ten prosty cel nie zapewnia żadnego feedbaco na konsolę, więc nie zrobi nic poza wymazaniem twojego $ (OUTDIR) z istnienia. Możesz dodać do niego zarządzanie błędami i komunikaty oraz uzyskać lepsze opinie.
Newtopian
3
@Rolf Visual Studio domyślnie nie czyści „prawidłowo”, ponieważ MS musi obsługiwać przypadek użycia, w którym N różnych projektów wyprowadza do tego samego katalogu. Jeśli czyszczenie projektu domyślnie spowodowało zbicie całego jego katalogu wyjściowego, mogłoby spowodować zbicie plików całkowicie niezwiązanych z tym projektem. Zamiast tego domyślnym zachowaniem jest śledzenie plików, które są faktycznie wyprowadzane przez proces kompilacji i usuwanie tylko tych plików w stanie czystym. Typowa klasa awarii w czasie czyszczenia jest spowodowana utworzeniem lub skopiowaniem pliku podczas kompilacji bez informowania programu MSBuild o dodaniu go do listy śledzenia.
Timbo
45

Jeśli używasz gita i masz poprawkę .gitignorew swoim projekcie, możesz

git clean -xdf --dry-run

usunąć absolutnie każdy plik z .gitignorelisty, tj. wyczyści obji binfoldery ( xwyzwala to zachowanie)

Ruben Bartelink
źródło
2
To działa pięknie. Bardzo wygodne, gdy chcesz
stworzyć
@JoeHealy Zamiast najpierw wyczyścić, a następnie skompresować, łatwiej byłoby użyć git-archive do spakowania bezpośrednio z repozytorium.
Reinier Torenbeek
Działa jak marzenie! To najlepsza odpowiedź. Jeśli, powiedzmy, projekt nie używa kontroli źródła, ta odpowiedź nadal obowiązuje: po prostu dodaj projekt do kontroli źródła (kliknij prawym przyciskiem myszy nazwę rozwiązania), a następnie uruchom powyższe polecenie git. Przy okazji, jak używasz poleceń git w systemie Windows? Musiałem użyć Bash na Ubuntu w systemie Windows.
brett
@brett Ciekawe;) Zazwyczaj używam GitHub dla Windows do układania nawierzchni (chociaż jestem prawie pewien, że VS instaluje działający zestaw, który może być używany z wiersza poleceń VS) - ustawienia pozwalają wybrać układ powłoki (z którego wybieram PoshGit) . Korzystanie z WSL jest najbardziej pouczające, więc dobry telefon!
Ruben Bartelink
2
ok. teraz widzę; Kluczem jest --dry-runto, że powie ci tylko, co zostanie usunięte. ładne
mkb
42

W przypadku programu Visual Studio 2015 zmienne MSBuild nieco się zmieniły:

  <Target Name="SpicNSpan" AfterTargets="Clean"> <!-- common vars https://msdn.microsoft.com/en-us/library/c02as0cs.aspx?f=255&MSPPError=-2147217396 -->
         <RemoveDir Directories="$(TargetDir)" /> <!-- bin -->
         <RemoveDir Directories="$(SolutionDir).vs" /> <!-- .vs -->
         <RemoveDir Directories="$(ProjectDir)$(BaseIntermediateOutputPath)" /> <!-- obj -->
  </Target>

Zwróć uwagę, że ten fragment kodu usuwa również folder .vs z katalogu głównego rozwiązania. Możesz skomentować powiązaną linię, jeśli uważasz, że usunięcie folderu .vs jest przesadą. Mam ją włączoną, ponieważ zauważyłem, że w niektórych projektach innych firm powoduje to problemy, gdy pliki ala application.config istnieją w folderze .vs.

Uzupełnienie:

Jeśli chcesz zoptymalizować łatwość utrzymania swoich rozwiązań, możesz pójść o krok dalej i umieścić powyższy fragment w oddzielnym pliku, jak poniżej:

  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
       <Target Name="SpicNSpan" AfterTargets="Clean"> <!-- common vars https://msdn.microsoft.com/en-us/library/c02as0cs.aspx?f=255&MSPPError=-2147217396 -->
            <RemoveDir Directories="$(TargetDir)" /> <!-- bin -->
            <RemoveDir Directories="$(SolutionDir).vs" /> <!-- .vs -->
            <RemoveDir Directories="$(ProjectDir)$(BaseIntermediateOutputPath)" /> <!-- obj -->
       </Target>
  </Project>

A następnie dołącz ten plik na samym końcu każdego z Twoich plików * .csproj, w ten sposób:

     [...]
     <Import Project="..\..\Tools\ExtraCleanup.targets"/>
  </Project>

W ten sposób możesz wzbogacić lub dostroić swoją logikę dodatkowego czyszczenia centralnie, w jednym miejscu, bez konieczności ręcznej edycji każdego pliku * .csproj za każdym razem, gdy chcesz coś ulepszyć.

XDS
źródło
Czy jest jakiś fajny sposób na usunięcie wszystkich plików w folderze poza jednym określonym?
progLearner
1
@progLearner ofcourse there is stackoverflow.com/a/10019708/863651
XDS
Niesamowite! Dzięki!
progLearner
1
@progLearner Odpowiedź na to pytanie jest trudna. Niektóre pliki wydają się być zablokowane, ale jeśli będziemy się powtarzać 2 lub 3 razy, zostaną one usunięte. Są też przypadki, w których pliki są naprawdę zablokowane, a potem nie masz szczęścia, ponieważ nie możesz ich usunąć, chyba że i dopóki nie zabijesz procesów, które je blokują. Jeśli jesteś w scenariuszu nr 1, możesz wypróbować akcję usuwania katalogu z najnowszego MSBuildCommunityTasks, która ma flagę trwałego usuwania (możesz przeczytać dokumenty dotyczące tego, ponieważ jest poza zakresem tego konkretnego wątku)
XDS
1
Miałem podobny problem. W tle działa proces o nazwie VSCompiler.exe lub coś podobnego. Możesz najpierw spróbować zabić ten proces, zanim usuniesz katalog i sprawdź, czy działa (myślę, że będzie). Powodzenia, kolego!
XDS
31

Aby usunąć bin i obj przed kompilacją, dodaj do pliku projektu:

<Target Name="BeforeBuild">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>

Oto artykuł: Jak usunąć folder bin i / lub obj przed kompilacją lub wdrożeniem

Szaman
źródło
3
Podoba mi się również pomysł usunięcia pośredników, jednak podłączanie się do BeforeBuild wiąże się ze znaczącymi efektami ubocznymi, ponieważ usuwa wszystkie możliwości wykonywania przyrostowych kompilacji. W projektach, których budowa zajmuje dużo czasu, jest to blokada pokazów. Ponadto, usuwając podstawowy katalog wyjściowy, możesz ingerować w narzędzia, które mogą chcieć wykonać kompilacje z wieloma celami / konfiguracjami i kumulować wyniki przed zapakowaniem ich do wdrożenia, tutaj przetrwa tylko ostatnia wykonana kompilacja.
Newtopian
22

Ta witryna: https://sachabarbs.wordpress.com/2014/10/24/powershell-to-clean-visual-studio-binobj-folders/ używa poleceń PowerShell Williama Kempfa do usuwania wszelkich folderów bin i obj z bieżącego katalogu i podkatalogi. Powinno być możliwe uruchomienie go z katalogu głównego dysku.

Oto wersja Williama

 gci -inc bin,obj -rec | rm -rec -force

Własnymi słowami Williama:

To usuwa wszystkie katalogi „bin” i „obj” w bieżącym katalogu i każdym podkatalogu. Bardzo przydatne do uruchomienia w katalogu obszaru roboczego, aby uzyskać „czysty” stan, zwłaszcza gdy ktoś coś pomyli i jest coś, czego nie łapie funkcja Clean lub Rebuild w środowisku IDE.

Dla tych z Was, którzy czytają, którzy mogą nie wiedzieć, PowerShell obsługuje aliasy poleceń, tutaj jest przepisywany ponownie bez użycia aliasów

Get-ChildItem -inc bin,obj -rec | Remove-Item -rec -force

UWAGA: Powinieneś mieć to zapisane w pliku PowerShell i umieścić ten plik w katalogu głównym swojego rozwiązania (tam, gdzie znajduje się plik .sln), a następnie uruchomić go, gdy chcesz, aby odpowiednio wyczyścił (nie myszą miki, którą robi VisualStudio, i informuje o sukcesie).

Aran Mulholland
źródło
Pamiętaj, że jeśli używasz systemu kontroli wersji, takiego jak mercurial, i znajduje się on na tym samym poziomie katalogu, co ten skrypt, skrypt ten uszkodzi twoje repozytorium, jeśli przechowujesz w nim cokolwiek w folderze "bin" ... w przeciwnym razie jest to bardzo przydatny skrypt!
Loudenvier
12

Sprawdź fantastyczny open source Rona Jacobsa CleanProject. Jeśli chcesz, nawet zajmie się zapinaniem .

Oto link CodePlex

Stuart
źródło
4

Możesz łatwo znaleźć i usunąć foldery bin i obj w Far Manager.

  1. Przejdź do rozwiązania i naciśnij klawisze Alt + F7
  2. W oknie dialogowym ustawień wyszukiwania:

    • Wpisz „bin, obj” w polu „Maska pliku lub kilka masek plików”
    • Zaznacz opcję „Wyszukaj foldery”
    • naciśnij enter
  3. Po zakończeniu wyszukiwania przełącz widok na „Panel” .

  4. Zaznacz wszystkie pliki (Ctrl + A) i usuń foldery (naciśnij „Shift + Del”)

Mam nadzieję, że to komuś pomoże.

Fragment
źródło
1
wygooglowałem to pytanie, szukając automatycznego rozwiązania specjalnie, aby przestać ręcznie robić to w FAR Manager lol
Vlad
3

W systemie Windows po prostu otwórz eksplorator, przejdź do folderu SLN, kliknij pole wyszukiwania i wpisz kind: = folder; obj -> w przypadku folderów obj użyj CTRL + A i usuń 'em - to samo dla bin Done

Nie potrzeba żadnego narzędzia ani dodatkowego oprogramowania;)

Al CoPaine
źródło
2

Nie usuwa folderów, ale usuwa produkty uboczne kompilacji. Czy jest jakiś powód, dla którego chcesz usunąć rzeczywiste foldery kompilacji ?

Krzysztof
źródło
Chciałbym usunąć wszystko, co nie jest potrzebne do kompilacji, abym mógł to spakować i wysłać. Posiadanie plików .ex w plikach zip może być problemem dla antywirusów.
tom7
Tak. Ale jak powiedziałem, produkty kompilacji są usuwane. Oznacza to pliki .obj i .exe. Tylko nie rzeczywiste foldery.
Christopher,
Jeśli niektóre odwołania zostały usunięte / przeniesione, a dll nie były przywoływane w kodzie, nie są one już wbudowane w foldery bin, ale nie są również czyszczone. Kończy się to lokalną wersją Twojej aplikacji, która kompiluje się, ale kończy się niepowodzeniem wszędzie indziej.
Oli4
2

Program Clean usunie wszystkie pliki pośrednie i końcowe utworzone w procesie kompilacji, takie jak pliki .obj i .exe lub .dll.

Nie usuwa jednak katalogów, w których te pliki są budowane. Nie widzę przekonującego powodu, dla którego chcesz usunąć katalogi. Czy możesz wyjaśnić więcej?

Jeśli zajrzysz do tych katalogów przed i po „wyczyszczeniu”, powinieneś zobaczyć, jak skompilowane dane wyjściowe zostaną wyczyszczone.

abelenky
źródło
Chcę usunąć katalogi bin i obj, aby wszystko spakować.
tom7
5
„Wyczyść” nie usuwa pliku .exe.
tom7
Właśnie wypróbowałem to z moim Visual Studio 2005 i mogę sprawdzić, czy „Wyczyść” usunął plik .exe (i wszystkie inne pliki).
abelenky
4
Może w programie Visual Studio 2010. W tej chwili mogę potwierdzić, że „czyste rozwiązanie” nie usuwa bibliotek dll z folderów Debug / bin.
Keith Hoffman
4
Wyczyść nie usuwa plików, jeśli nie są one obliczane przez kompilację. Jeśli niektóre pliki zostaną przeniesione na zewnątrz przez inny mechanizm, wyczyszczenie ich nie usunie. Innymi słowy, gdy nosisz czapkę kierownika budowy, czyszczenie jest całkowicie i całkowicie bezużyteczne, a nawet niebezpieczne.
Newtopian
2

Nie mogę jeszcze dodać komentarza (nie osiągnięto minimalnej reputacji),
więc zostawiam tę odpowiedź, aby podkreślić, że:

akcja „BeforeBuild” <RemoveDir Directories="$(BaseIntermediateOutputPath)" />jest świetna, ale dla mnie jest w konflikcie z modelem Entity Framework zawartym w tym samym projekcie.

Błąd jaki otrzymuję to:

Error reading resource '{mymodel}.csdl' -- 'Could not find a part of the path '{myprojectpath}\obj\Release\edmxResourcesToEmbed\{mymodel}.csdl

Przypuszczam, że „edmxResourcesToembed” jest tworzony przed wykonaniem akcji docelowej „BeforeBuild”.

Luca Ritossa
źródło
2

Na podstawie odpowiedzi Joe przekonwertowałem kod VB na C #:

/// <summary>
/// Based on code of VSProjCleaner tool (C) 2005 Francesco Balena, Code Archirects
/// </summary>
static class VisualStudioCleaner
{
    public static void Process(string rootDir)
    {
        // Read all the folder names in the specified directory tree
        string[] dirNames = Directory.GetDirectories(rootDir, "*.*", SearchOption.AllDirectories);
        List<string> errorsList = new List<string>();

        // delete any .suo and csproj.user file
        foreach (string dir in dirNames) {
            var files = new List<string>();
            files.AddRange(Directory.GetFiles(dir, "*.suo"));
            files.AddRange(Directory.GetFiles(dir, "*.user"));
            foreach (string fileName in files) {
                try {
                    Console.Write("Deleting {0} ...", fileName);
                    File.Delete(fileName);
                    Console.WriteLine("DONE");
                } catch (Exception ex) {
                    Console.WriteLine();
                    Console.WriteLine(" ERROR: {0}", ex.Message);
                    errorsList.Add(fileName + ": " + ex.Message);
                }
            }
        }

        // Delete all the BIN and OBJ subdirectories
        foreach (string dir in dirNames) {
            string dirName = Path.GetFileName(dir).ToLower();
            if (dirName == "bin" || dirName == "obj") {
                try {
                    Console.Write("Deleting {0} ...", dir);
                    Directory.Delete(dir, true);
                    Console.WriteLine("DONE");
                } catch (Exception ex) {
                    Console.WriteLine();
                    Console.WriteLine(" ERROR: {0}", ex.Message);
                    errorsList.Add(dir + ": " + ex.Message);
                }
            }
        }
        Console.WriteLine(new string('-', 60));
        if (errorsList.Count == 0) {
            Console.WriteLine("All directories and files were removed successfully");
        } else {
            Console.WriteLine("{0} directories or directories couldn't be removed", errorsList.Count);
            Console.WriteLine(new string('-', 60));
            foreach (string msg in errorsList) {
                Console.WriteLine(msg);
            }
        }
    }
}
eka808
źródło
1

Używam VisualStudioClean, który jest łatwy do zrozumienia i przewidywalny. Wiedząc, jak to działa i jakie pliki ma zamiar usunąć, odciąża mnie.

Wcześniej wypróbowałem VSClean (uwaga: VisualStudioClean to nie VSClean), VSClean jest bardziej zaawansowany, ma wiele konfiguracji, które czasami sprawiają, że zastanawiam się, jakie pliki ma zamiar usunąć? Jedna błędna konfiguracja spowoduje utratę moich kodów źródłowych. Aby sprawdzić, jak będzie działać konfiguracja, należy wykonać kopię zapasową wszystkich moich projektów, co zajmuje dużo czasu, więc ostatecznie wybieram zamiast tego VisualStudioClean.

Wniosek: VisualStudioClean, jeśli potrzebujesz podstawowego czyszczenia, VSClean dla bardziej złożonego scenariusza.

ComputerMan
źródło
1

W ten sposób robię z plikiem wsadowym, aby rekurencyjnie usunąć wszystkie foldery BIN i OBJ.

  • Utwórz pusty plik i nadaj mu nazwę DeleteBinObjFolders.bat
  • Skopiuj i wklej poniższy kod do pliku DeleteBinObjFolders.bat
  • Przenieś plik DeleteBinObjFolders.bat do tego samego folderu z plikiem rozwiązania (* .sln).
@echo off
@echo Deleting all BIN and OBJ folders...
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
@echo BIN and OBJ folders successfully deleted :) Close the window.
pause > nul
Alper Ebicoglu
źródło
0

Przechowuję gotowe projekty VS, zapisując tylko kod źródłowy.

Usuwam foldery BIN, DEBUG, RELEASE, OBJ, ARM i .vs ze wszystkich projektów.

Zmniejsza to znacznie rozmiar projektu. Projekt

należy odbudować po wyciągnięciu z magazynu.

pollaris
źródło
0

To tylko dodatek do wszystkich dobrych odpowiedzi powyżej na wypadek, gdyby ktoś nie zdawał sobie sprawy, jak łatwo jest zautomatyzować cały proces w VB / C #, aż do archiwum zip.

Więc po prostu pobierasz prostą aplikację Forms z szablonów (jeśli nie masz jeszcze aplikacji do sprzątania) i dodajesz do niej przycisk, a następnie ClickOnce instalujesz ją na pulpicie, nie martwiąc się o specjalne ustawienia lub wiele innych rzeczy. To cały kod, który musisz dołączyć do przycisku:

Imports System.IO.Compression

Private Sub btnArchive_Click(sender As Object, e As EventArgs) Handles btnArchive.Click
    Dim src As String = "C:\Project"
    Dim dest As String = Path.Combine("D:\Archive", "Stub" & Now.ToString("yyyyMMddHHmmss") & ".zip")
    If IsProjectOpen() Then 'You don't want Visual Studio holding a lock on anything while you're deleting folders
        MsgBox("Close projects first, (expletive deleted)", vbOKOnly)
        Exit Sub
    End If
    If MsgBox("Are you sure you want to delete bin and obj folders?", vbOKCancel) = DialogResult.Cancel Then Exit Sub
    If ClearBinAndObj(src) Then ZipFile.CreateFromDirectory(src, dest)
End Sub

Public Function ClearBinAndObj(targetDir As String) As Boolean
    Dim dirstodelete As New List(Of String)
    For Each d As String In My.Computer.FileSystem.GetDirectories(targetDir, FileIO.SearchOption.SearchAllSubDirectories, "bin")
        dirstodelete.Add(d)
    Next
    For Each d As String In My.Computer.FileSystem.GetDirectories(targetDir, FileIO.SearchOption.SearchAllSubDirectories, "obj")
        dirstodelete.Add(d)
    Next
    For Each d In dirstodelete
        Try
            Directory.Delete(d, True)
        Catch ex As Exception
            If MsgBox("Error: " & ex.Message & " - OK to continue?", vbOKCancel) = MsgBoxResult.Cancel Then Return False
        End Try
    Next
    Return True
End Function

Public Function IsProjectOpen()
    For Each clsProcess As Process In Process.GetProcesses()
        If clsProcess.ProcessName.Equals("devenv") Then Return True
    Next
    Return False
End Function

Należy pamiętać, że usuwanie systemu plików może łatwo pójść nie tak. Jednym z moich ulubionych było to, gdy zdałem sobie sprawę, że nie mogę usunąć folderu, ponieważ zawierał elementy utworzone przez program Visual Studio podczas pracy z podwyższonymi uprawnieniami (aby móc debugować usługę).

Musiałem ręcznie udzielić pozwolenia lub, jak przypuszczam, uruchomić aplikację również z podwyższonymi uprawnieniami. Tak czy inaczej, myślę, że zastosowanie interaktywnego podejścia opartego na graficznym interfejsie użytkownika zamiast skryptu ma pewną wartość, zwłaszcza że jest to prawdopodobnie coś, co jest wykonywane pod koniec długiego dnia i nie chcesz później dowiedzieć się, że twoja kopia zapasowa tak naprawdę nie istnieje ...

saminpa
źródło
0

Aktualizacja: Visual Studio 2019 (Clean [bin] i [obj] przed wydaniem). Jednak nie jestem pewien, czy [obj] musi zostać usunięte. Należy pamiętać, że została również umieszczona konfiguracja pakietu NuGet. Jeśli tak uważasz, możesz usunąć drugą linię.

<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(Configuration)' == 'Release'">
  <!--remove bin-->
  <Exec Command="rd /s /q &quot;$(ProjectDir)$(BaseOutputPath)&quot; &amp;&amp; ^" />
  <!--remove obj-->
  <Exec Command="rd /s /q &quot;$(BaseIntermediateOutputPath)Release&quot;" />
</Target>
PRZYZNAĆ
źródło
0

ta odpowiedź jest świetna Chcę tylko skomentować ostatnią część odpowiedzi

UWAGA: Powinieneś mieć to zapisane w pliku PowerShell i umieścić ten plik w katalogu głównym swojego rozwiązania (tam, gdzie znajduje się plik .sln), a następnie uruchomić go, gdy chcesz, aby odpowiednio wyczyścił (nie myszą miki, którą robi VisualStudio, i informuje o sukcesie).

Alternatywnie możesz dodać następujące elementy do swojego profilu .ps1

function CleanSolution {
    Get-ChildItem -inc bin,obj -rec | Remove-Item -rec -force
}

Set-Alias cs CleanSolution 

Następnie można użyć CleanSolution lub cs uruchomić. W ten sposób możesz go użyć dla dowolnego projektu i bez przedrostka ./ nazwy pliku

BluePositive
źródło
0

Rozszerzenie programu Visual Studio

wprowadź opis obrazu tutaj

Rozwiązanie dostępne po kliknięciu prawym przyciskiem myszy - wybierz opcję „Usuń foldery bin i obj”

mkdave99
źródło