Вы знаете, тот, который выводит это = >
------ Чистое начало: Проект: Foo.Bar, Конфигурация: Отладка Любой CPU ------
========== Очистить: 1 удалось, 0 не удалось, 0 пропущено ==========
Что это за чистка?
Вы знаете, тот, который выводит это = >
------ Чистое начало: Проект: Foo.Bar, Конфигурация: Отладка Любой CPU ------
========== Очистить: 1 удалось, 0 не удалось, 0 пропущено ==========
Что это за чистка?
Выходные каталоги - он удаляет ранее созданный код.
Он не удаляет сами каталоги bin/obj (или подкаталоги Debug/Release под ними), а также фактические файлы .exe,.dll и т.д. К сожалению, это делает его менее полезным для моего обычного использования очистки выходных каталогов: когда я хочу закрепить исходный код. Поскольку действие Clean не делает этого, я обычно просто удаляю каталоги bin и obj напрямую.
Почему бы не искать себя? Откройте 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.
Он проходит через ваши выходные каталоги и удаляет в них любые связанные с ним файлы.
Я думаю, вы также можете настроить это, перейдя в свойства Project в
Свойства конфигурации → Общие, в разделе "Расширения для удаления при очистке"
удаляет все файлы, связанные с сборкой, выходными каталогами
Люди используют "чистый", чтобы принудительно завершить восстановление из источника. Ваш компилятор не перестраивает каждый файл каждый раз, если он не изменился.