Функция /debug
для msbuild была удалена из общедоступных сборок MSBuild 15, а код для нее позже был полностью удален .
Для "отладки" логики в ваших целях сборкиФайлы / msbuild. Лучше всего создавать двоичные журналы, используя аргумент -bl
, и проверять их с помощью MSBuild Structured Log Viewer .Он показывает все входы / выходы для вызова задачи и все шаги, которые происходят во время выполнения Msbuild.
Отладка пользовательских задач (например, кода C #) очень трудна для выполнения.Это будет включать в себя цикл + спящий режим до тех пор, пока Debugger.IsAttached
не станет истинным для отладочных сборок (и затем присоединения к процессу в Visual Studio) или вызова Debugger.Launch()
(только в .NET Framework, а не .NET Core MSBuild).
Я предлагаю отделить реальный класс задач от вашей логической реализации, чтобы позволить вам провести модульное тестирование вашей логики.Это должно избавить от необходимости отлаживать его во время выполнения.
Вы можете увидеть пример логики отладчика и разделения в PackTask NuGet и его PackTaskLogic class .