Visual Studio (2008) Варіант "Чисте рішення"


Відповіді:


109

Він видаляє всі складені та тимчасові файли, пов’язані з рішенням. Це гарантує, що наступна збірка є повною, а не лише зміненими файлами, які перекомпілюються.


3
Тоді яка різниця між "Зробити" та "Перебудувати все?"
Чад

2
Уявіть собі рішення з 3-ма проектами. Build збирає лише ті проекти, які змінилися з моменту останньої збірки. Перебудуйте, складе все.
BigJump

18
Чи відновлення рішення завжди є таким, як запуск Clean Solution, а потім збірка рішення?
Joey Green

5
Чи Реконструкція рішення фактично чистить перед будівництвом, чи просто будує все так, як ніби це було зроблено спочатку?
Гомер

2
@JoeyGreen Ні. Якщо ви очищаєте та збираєте рішення, воно спочатку очищає всі проекти, а потім збирає всі проекти. Якщо ви переобладнаєте, він одночасно займає один проект і очищає його та будує. Одного разу я зіткнувся з дивною проблемою, використовуючи Rebuild замість Clean & Build, тому що деякі залежності проекту ...
relaxxx

61

Він видаляє весь об'єктний код, сформований під час попередньої компіляції / збірки. Він видаляє всі файли нижче виду: -

* .obj - код об'єкта

* .pdb - програмний файл налагодження даних

* .bsc - вихідна база даних браузера

* .ilk - файл додаткового посилання

* .sbr - проміжний файл браузера

* .idb - відновити файл залежності

* .lib - файл бібліотеки

* .exe - виконуваний файл

JFYI - Навіть команда Rebuild All зробить усе це, а потім перейде до створення повного набору вихідних файлів.

-AD


11

Я хотів, щоб це був коментар, але, мабуть, потрібно 50 повторень.

Щоб попередити інших, я знаходжу, що рішення про відновлення не прибирає себе. Мені часто не потрібно чистити його і будувати / перебудовувати після того, як він буде працювати - я думаю, що перебудовувати це самостійно змушує повну компіляцію без чистого і перекриває все, але не позбуватись зайвих.

Не вивчав, яка реконструкція кодує розумно, просто загальне спостереження, якщо хтось інший має те саме питання.


2
Я погоджуюся з цим твердженням - бачив таку поведінку багато разів, коли потрібна чистка перед перебудовою
Swordblaster

5

Це стара публікація, але я вважав, що це варто згадати. Під час кодування Silverlight у мене зазвичай одночасно відкриті Blend і VS2010. Через це іноді VS2010 вироджується, і IntelliSense не може знайти, де є щось або щось, внаслідок чого це помилково виділяє безліч помилок.

Очищення розчину це фіксує.


4

Стирає файли, створені в процесі компіляції. Ефективно вимагає повного перекомпілювання / складання наступного разу.


2

обережно, коли ви чистите розчин; коли ви чистите рішення і якщо у вашому проекті ви посилаєтесь на бібліотеку (скажімо, nhibernate), і якщо ця бібліотека має залежність (скажімо, iesi.collections), ви побачите, що iesi.collections буде видалено, навіть якщо ви відновили рішення, і вам доведеться знову помістити цей dll у свою папку. або ви також можете посилатися на iesi.collections і вибрати параметр "copy-local: yes" з його властивостей


5
Це не повинно бути проблемою, якщо ви перемістите всі ваші контури до певної папки, окрім 'Bin' та / або використовуєте NuGet
bbqchickenrobot

впевнений, що його немає, але зазвичай він знаходиться в папці bin (ви можете спробувати отримати fluentnhibernate через nuget, а iesi.collections немає)
ersanbilik

0

FYI, ні Очистити, ні Перебудувати не видалять файли, що не створюються, наприклад файли, скопійовані під час команди перед збіркою. Мене з цим збентежили!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.