Opcja „Czyste rozwiązanie” programu Visual Studio (2008)


Odpowiedzi:


109

Usuwa wszystkie skompilowane i tymczasowe pliki powiązane z rozwiązaniem. Zapewnia to, że następna kompilacja będzie pełna, a nie tylko rekompilowane tylko zmienione pliki.


3
Jaka jest zatem różnica między opcjami „Build” i „Rebuild All?”
Czad

2
Wyobraź sobie rozwiązanie obejmujące 3 projekty. Build kompiluje tylko projekty, które uległy zmianie od czasu ostatniej kompilacji. Przebuduj, kompiluje wszystko.
BigJump

18
Czy Odbuduj rozwiązanie jest zasadniczo tym samym, co uruchomienie czystego rozwiązania, a następnie zbudowanie rozwiązania?
Joey Green

5
Czy narzędzie Rebuild Solution faktycznie wykonuje czyszczenie przed budową, czy po prostu buduje wszystko tak, jakby czyszczenie zostało wykonane najpierw?
Homer

2
@JoeyGreen Nie. Jeśli korzystasz z rozwiązania Clean and Build, najpierw czyści wszystkie projekty, a następnie buduje wszystkie projekty. Jeśli przebudujesz, zajmie to jeden projekt naraz, wyczyści go i zbuduje. Kiedyś napotkałem dziwny problem przy używaniu Rebuild zamiast Clean & Build, ponieważ niektóre zależności projektu ...
relaxxx

61

Usuwa cały kod obiektowy wygenerowany podczas poprzedniej kompilacji / kompilacji. Usuwa wszystkie poniższe rodzaje plików: -

* .obj - kod wynikowy

* .pdb - plik bazy danych debugowania programu

* .bsc - baza danych przeglądarki źródłowej

* .ilk - przyrostowy plik konsolidatora

* .sbr - plik pośredni przeglądarki źródłowej

* .idb - odbuduj plik zależności

* .lib - plik biblioteki

* .exe - plik wykonywalny

JFYI - nawet polecenie Rebuild All zrobi to wszystko, a następnie przejdzie do zbudowania pełnego zestawu plików źródłowych.

-OGŁOSZENIE


11

Chciałem, żeby to był komentarz, ale najwyraźniej potrzebuję 50 powtórzeń.

Aby ostrzec innych, uważam, że rozwiązanie do odbudowy nie usuwa samodzielnie. Często nie muszę go czyścić, a potem budować / odbudowywać, aby działał - myślę, że przebudowa tego samego wymusza pełną kompilację bez czyszczenia i zastępuje wszystko, ale nie pozbywa się dodatków.

Nie sprawdziłem, co przebudowa koduje mądrze, tylko ogólną obserwację na wypadek, gdyby ktoś inny miał ten sam problem.


2
Zgadzam się z tym stwierdzeniem - widziałem to zachowanie wiele razy, gdy wymagane jest wyczyszczenie przed przebudową
Swordblaster

5

To jest stary post, ale pomyślałem, że warto o tym wspomnieć. Podczas kodowania dla Silverlight zwykle mam otwarte Blend i VS2010 w tym samym czasie. Z tego powodu czasami VS2010 wariuje, a IntelliSense nie może znaleźć, gdzie są rzeczy lub coś, co powoduje fałszywe wyróżnienie wielu błędów.

Oczyszczenie roztworu rozwiązuje ten problem.


4

Usuwa pliki utworzone podczas procesu kompilacji. Skutecznie wymusza pełną rekompilację / kompilację następnym razem.


2

ostrożnie, gdy czyścisz roztwór; kiedy wyczyścisz rozwiązanie i jeśli odniesiesz się do biblioteki (powiedzmy nhibernate) w swoim projekcie i jeśli ta biblioteka ma zależność (powiedzmy iesi.collections), zobaczysz, że iesi.collections zostanie usunięta, nawet jeśli odbudujesz rozwiązanie i musisz ponownie umieścić tę bibliotekę dll w swoim folderze. lub możesz również odwołać się do iesi.collections i wybrać opcję copy-local: yes z jego właściwości


5
Nie powinno to stanowić problemu, jeśli przeniesiesz wszystkie swoje biblioteki do określonego folderu innego niż „Bin” i / lub użyjesz NuGet
bbqchickenrobot

pewnie, że nie, ale zwykle znajduje się w folderze bin (możesz spróbować uzyskać fluentnhibernate przez nuget i nie ma iesi.collections)
ersanbilik

0

FYI, ani Wyczyść, ani Odbuduj nie usunie plików innych niż kompilowane, np. Plików skopiowanych podczas polecenia przed kompilacją. Byłem zdezorientowany!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.