В коде тоже можно использовать "директивы препроцессора", чтобы реализовать что-то аналогичное, как тут. docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/preprocessor-directives/preprocessor-if вот ссылка по этому поводу, я думаю тебе будет очень интересно, суть такова, пока ты компилируешь в Debug, код под директивами DEBUG будет включаться в бинарник, если переключишься в Release и скомпилируешь бинарник, то при компиляции все DEBUG директивы будут как будто за комментированы.
Научился: Научился модифицировать web.release.config, чтобы не приходилось переписывать строку подключения к базе данных для тестирования на локальном сервере или для релиза на удалённом. Трудности: В этом уроке - ничего, а в предыдущем я столкнулся именно с такой проблемой неработоспособности сайта и героически её решил, правда переписываением web.config под работу на удалнном сервере.