Есть ли способ в коде для определения того, что вы используете в «Конфигурации решений»? Например, «Отладка» или «Релиз»?Определение конфигурации решений (Visual Studio)
У меня есть служба, которую мне нравится тестировать в среде IDE в Debug, прямо сейчас у меня есть bool, который я установил, либо запускает «сервис», если установлен в true (который затем использует метод OnStart для запуска моего основного '), если он установлен в false, я просто запускаю метод' main '. Это отлично работает, но я часто забываю перезагрузить bool после тестирования, а затем, когда я иду, чтобы установить сервис, он терпит неудачу, и мне нужно вернуться, перезагрузить bool, перекомпилировать и т. Д.
Если бы я мог просто программно определить, что я был запущен в среде IDE в Debug, тогда я мог обойти эту проблему.
Edit: Хотя думать, что это до конца, я думаю, что мне действительно нужно, в конце концов, чтобы определить, если я нахожусь в «играет» приложение в язя и не конфигурации soulutions. Это позволит мне скомпилировать либо отладочную, либо другую конфигурацию.
Простейшее решение кажется проверить «System.Diagnostics.Debugger.IsAttached»
+1: избили за считанные секунды –
В соответствии с конфигурациями по умолчанию, предоставляемыми Visual Studio при первом создании проекта, это правда, но также можно определить макрос DEBUG в других типах сборки, если вы выберете. Это, однако, будет определять только сборку проекта, а не работу с отладчиком в соответствии с исходным вопросом. –
@Martin, исходным вопросом является поиск конфигурации проекта. Позднее было обновлено, чтобы сказать, что работает с прикрепленным отладчиком. Да, люди могут быть злыми и заставили Debug не определять DEBUG, поэтому я сказал, что явным образом обозначил это как «предположение» относительно окончательного решения. – JaredPar