Подтвердить что ты не робот

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

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

------ Чистое начало: Проект: Foo.Bar, Конфигурация: Отладка Любой CPU ------
========== Очистить: 1 удалось, 0 не удалось, 0 пропущено ==========

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

4b9b3361

Ответ 1

Выходные каталоги - он удаляет ранее созданный код.

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

Ответ 2

Почему бы не искать себя? Откройте Microsoft.Common.Targets(найти в% 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)" />

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

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

Повторите операцию очистки и посмотрите результат! Корреляция того, что вы видите в файлах *.targets, является хорошим способом начать изучение MSBuild.

Ответ 3

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

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

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

Ответ 4

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

Ответ 5

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