Что делает команда "очистить" в Visual Studio?


вы знаете, тот, который выводит это=>

------ чистое начало: проект: Foo.Бар, конфигурация: отладка любого процессора - - - - - -
========== Чисто: 1 удалось, 0 не удалось, 0 пропущено ==========

Что это за чистка?

5 58

5 ответов:

выходные каталоги-он удаляет код, который он ранее построил.

Он не удаляет сами каталоги bin/obj (или каталоги Debug/Release под ними), а только фактические .исполняемый. ,dll, etc файлы. К сожалению, это делает его менее полезным для моего обычного использования очистки выходных каталогов: когда я хочу, чтобы застегнуть исходный код. Поскольку чистое действие этого не делает, я обычно просто удаляю каталоги bin и obj напрямую.

почему бы не поискать самому? Откройте Microsoft.Общий.Цели (найдено под %windir%\Microsoft.NET) и вы увидите такой раздел:

<!--
============================================================
                                    Clean

Delete all intermediate and final build outputs.
============================================================
-->
<PropertyGroup>
    <CleanDependsOn>
        BeforeClean;
        CleanReferencedProjects;
        UnmanagedUnregistration;
        CoreClean;
        CleanPublishFolder;
        AfterClean
    </CleanDependsOn>
</PropertyGroup>
<Target
    Name="Clean"
    Condition=" '$(_InvalidConfigurationWarning)' != 'true' "
    DependsOnTargets="$(CleanDependsOn)" />

продолжайте читать, чтобы увидеть, что именно делает каждый из этих подцелей. (Некоторые, конечно, просто заглушки для пользователя, чтобы переопределить).

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

попробуйте свою чистую операцию еще раз и посмотрите выход сейчас! Соотнесение того, что вы видите с *.целевые файлы-это хороший способ начать изучение MSBuild.

Он проходит через ваши выходные каталоги и удаляет все связанные файлы в них.

Я думаю, что вы также можете настроить это, зайдя в свойства проекта в

свойства конфигурации -> Общие, в разделе "Расширения для удаления на чистую"

удаляет все файлы, связанные со сборкой, каталоги вывода

люди используют "чистый", чтобы заставить полное восстановление из источника. Ваш компилятор не перестраивает каждый файл каждый раз, если он не изменился.