ZombieSheep ответ неправильный.
Мой ответ на этот повторяющийся вопрос здесь: Как узнать, было ли приложение .NET скомпилировано в режиме DEBUG или RELEASE?
Будьте очень осторожны - просто посмотрите на «атрибуты сборки» в Манифесте сборки на наличие атрибута «Отладка» НЕ означает, что у вас есть сборка, которая не оптимизирована JIT. Сборка может быть оптимизирована с помощью JIT, но в выходных данных сборки в настройках Advanced Build должна быть указана информация «full» или «только для pdb» - в этом случае будет присутствовать атрибут «Debuggable».
Пожалуйста, обратитесь к моим сообщениям ниже для получения дополнительной информации:
Как определить, является ли сборка отладкой или выпуском и
Как определить, является ли DLL отладочной или выпускной сборкой (в .NET)
Приложение Джеффа Ки не работает должным образом, потому что оно определяет сборку "Debug" на основе наличия DebuggableAttribute. Атрибут DebuggableAttribute присутствует, если вы компилируете в режиме Release и выбираете DebugOutput для чего-либо, кроме «none».
Вам также нужно определить exaclty , что означает «Отладка» против «Выпуск» ...
- Вы имеете в виду, что приложение настроено с оптимизацией кода?
- Вы имеете в виду, что вы можете подключить к нему отладчик Visual Studio / JIT?
- Вы имеете в виду, что он генерирует DebugOutput?
- Вы имеете в виду, что он определяет константу DEBUG? Помните, что вы можете условно компилировать методы с атрибутом
System.Diagnostics.Conditional()
.