visual-studio как - Разница между Rebuild и Clean + Build в Visual Studio





это проект (5)


Эрл прав, что в 99% случаев Rebuild = Clean + Build.

Но они не гарантируют, что они будут одинаковыми. 3 действия (перестроение, сборка, очистка) представляют разные цели MSBuild. Каждый из них может быть переопределен любым файлом проекта для выполнения пользовательских действий. Таким образом, вполне возможно, что кто-то переопределит rebuild, чтобы выполнить несколько действий, прежде чем инициировать чистую + сборку (или полностью удалить ее).

Очень дело в углу, но указывая на это из-за обсуждения комментариев.

В чем разница между простостройкой и выполнением Clean + Build в Visual Studio 2008? Является ли Clean + Build другим, чем Clean + Rebuild ?




Rebuild = Clean + Build

Заметные детали:

  1. Для многопроектного решения «перестроить решение» делает «чистый», за которым следует «сборка» для каждого проекта (возможно, параллельно). В то время как «чистое решение», за которым следует «решение для сборки», сначала очищает все проекты (возможно, параллельно), а затем строит все проекты (возможно, параллельно). Эта разница в последовательности событий может стать значимой, когда вступают в действие межпроектные зависимости.

  2. Все три действия соответствуют целям MSBuild. Таким образом, проект может переопределить действие Rebuild, чтобы сделать что-то совершенно другое.




Из этого сообщения в блоге, которое автор связал как комментарий по этому вопросу :

Вообще-то, нет!!! они не равны.

Разница заключается в том, что проекты последовательности очищаются и строятся. Скажем, у нас есть два проекта в решении. Очистите, а затем выполните сборку, выполнив очистку для обоих проектов, а затем сборка будет выполняться индивидуально, а при восстановлении проекта A будет получена и очищена, а затем построена после того, как проект B будет чистым, а затем будет построен и так далее.




1 За проект, перестроить проект = (проект «Чистый проект + сборка»).

2 за решение, перестроить проект Sln = foreach (проект Clean Project + Build)! = Clean Sln + Build Sln

Скажем, у вас есть Sln, содержит proj1, proj2 и proj3.

Rebuild Sln = (Очистить proj1 -> Build Proj1) + (Очистить proj2 -> Build Proj2) + (Очистить proj3 -> Build Proj3)

Очистить Sln + Build Sln = (Очистить proj1 + Очистить proj2 + Очистить proj3) -> (Build proj1 + Build proj2 + Build proj3)

-> означает серийный, + означает параллельный

поэтому есть вероятность, что при отправке большого количества изменений кода, когда вы неправильно настроили зависимостей проекта, Rebuild Sln приведет к тому, что некоторые из вас будут связаны с устаревшим lib, потому что все сборки не гарантируются тем, что они очищаются. В этом случае Clean Sln + Build Sln даст сообщение об ошибке и сообщит об этом немедленно, вместо того чтобы предоставить вам приложение с нечетным поведением)




В январе 2013 года Microsoft announced что добавляет полную поддержку Git во все свои продукты ALM. Они опубликовали плагин для Visual Studio 2012, который добавляет интеграцию управления источником Git.

Кроме того, существует проект под названием Git Extensions, который включает надстройки для Visual Studio 2005, 2008, 2010 и 2012 годов, а также интеграцию с Windows Explorer. Он регулярно обновляется и, используя его в нескольких проектах, нашел его очень полезным.

Другим вариантом является Git Source Control Provider .





visual-studio visual-studio-2008 build rebuild