Разница между решением сборки, перестройкой решения и чистым решением в Visual Studio?

В чем разница между Build Solution, Rebuild Solution и Clean Solution в Visual Studio?

Когда подходящее время для использования каждого из них?

+815
22 июн. '10 в 18:17
источник поделиться
10 ответов
  • Build solution будет выполнять инкрементную сборку: если она не думает, что ей нужно перестроить проект, это не произойдет. Он может также использовать частично построенные биты проекта, если они не изменились (я не знаю, насколько это требуется)
  • Rebuild solution очистит и затем построит решение с нуля, игнорируя все, что было сделано раньше.
  • Чистое решение удалит артефакты сборки из предыдущей сборки. Если в целевых каталогах сборки (bin и obj) есть другие файлы, они не могут быть удалены, но фактические артефакты сборки. Я видел, что поведение для этого варьируется - иногда удаляется довольно тщательно, а иногда нет - но я дам VS преимущество сомнений на данный момент:)

(Ссылки на ключи командной строки devenv.exe, но они делают то же самое, что и пункты меню.)

+666
22 июн. '10 в 18:21
источник

Сборка решения: компилирует файлы кода (DLL и EXE), которые были изменены.

Rebuild: удаляет все скомпилированные файлы и компилирует их снова независимо от того, был ли код изменен или нет.

Чистое решение: Удаляет все скомпилированные файлы (файлы DLL и EXE).

Вы можете увидеть это видео на YouTube (Visual Studio Build vs Rebuild vs. Clean (вопросы интервью с С# с ответами)), где я продемонстрировал различия и ниже - визуальные представления, которые помогут вам проанализировать их более подробно.

Build vs Rebuild

Разница между Rebuild vs. (Clean + Build), потому что, похоже, есть и некоторые путаницы:

Разница заключается в том, как последовательность сборки и очистки выполняется для каждого проекта. Допустим, ваше решение имеет два проекта: "proj1" и "proj2". Если вы выполните пересоздание, он примет "proj1" , очистит (удалит) скомпилированные файлы для "proj1" и построит его. После этого он возьмет второй проект "proj2", очистит скомпилированные файлы для "proj2" и скомпилирует "proj2".

Но если вы сделаете "чистую" и строят ", он сначала удалит все скомпилированные файлы для" proj1 "и" proj2 ", а затем сначала построит" proj1 ", а затем" proj2 ".

Rebuild Vs Clean

+299
22 июл. '13 в 6:24
источник

Взято из эта ссылка:

Сборка означает компиляцию и ссылку только на исходные файлы, которые изменились начиная с последней сборки, в то время как Rebuild означает компиляцию и связывание всех источников файлы независимо от того, изменено или нет. Построение нормальное что делать и быстрее. Иногда версии целевой задачи проекта компоненты могут выйти из синхронизации и перестройка необходима, чтобы сделать сборку успешный. На практике вы никогда не необходимо очистить.

+129
22 июн. '10 в 18:19
источник

Build Solution. Создает все сборки, которые изменили файлы. Если сборка не имеет никаких изменений, она не будет перестроена. Также не будет удалять промежуточные файлы.

Используется чаще всего.

Rebuild Solution - восстанавливает все сборки независимо от изменений, но оставляет промежуточные файлы.

Используется, когда вы замечаете, что Visual Studio не включила ваши изменения в последнюю сборку. Иногда Visual Studio делает ошибки.

Очистить решение - удалить все промежуточные файлы и перестроить все сборки независимо от изменений

Используется, когда все остальное терпит неудачу, и вам нужно очистить все и начать новый.

+26
22 июн. '10 в 18:20
источник

Я просто думаю о Rebuild как о выполнении Clean сначала, а затем Build. Возможно, я ошибаюсь... комментарии?

+13
22 июн. '10 в 18:25
источник

Build Solution. Создает все сборки, которые изменили файлы. Если сборка не имеет каких-либо изменений, она не будет перестроена. Также не будет удалять промежуточные файлы.

Rebuild solution очистит и затем построит решение с нуля, игнорируя все, что было сделано до

Clean Solution удалит все скомпилированные файлы (например, EXE и DLL) из каталога bin/obj.

+12
21 сент. '16 в 16:43
источник

Build Solution. Встроенное решение создаст ваше приложение с созданием количества проектов, которые имеют любое изменение файла. И он не очищает существующие бинарные файлы и просто заменяет обновленные сборки в папке bin или obj.

Rebuild Solution. Решение Rebuild построит ваше приложение, создав все проекты, доступные в вашем решении, с их очисткой. Перед его созданием удаляются все двоичные файлы из папки bin и obj.

Чистое решение. Чистое решение просто очищает все двоичные файлы из папки bin и obj.

+6
13 июн. '17 в 12:53
источник

Решение для сборки будет создавать любые проекты в измененном решении. Rebuild строит все проекты, несмотря ни на что, чистое решение удаляет все временные файлы, гарантируя, что следующая сборка завершена.

+5
22 июн. '10 в 18:20
источник

Решение Build только строит те проекты, которые были изменены в решении, и не влияет на сборки, которые не изменились,

ReBuild сначала очищает, все сборки из решения, а затем строит все решение независимо от выполненных изменений.

Очистите, просто очистите решение.

+1
19 июн. '14 в 17:31
источник

Создать решение

Это будет выполнять инкрементную сборку. Другими словами, он будет только создавать файлы кода, которые изменились. Если они не изменились, эти файлы не будут затронуты.

Реконструкция

Это приведет к удалению всех файлов, скомпилированных в настоящее время (например, exe и DLL), и будет создавать все с нуля, независимо от того, происходит ли изменение кода в файле или нет.

меню "Чистое решение"

В этом меню будут удалены все скомпилированные файлы (например, EXE и DLL) из каталога bin/obj.

Rebuild = Clean + Build

+1
09 нояб. '17 в 9:28
источник

Посмотрите другие вопросы по метке или Задайте вопрос