Дубликат: Отладка vs. release в .NET
Почему в сборке приложений .NET есть режимы "Debug" и "Release"?
Какова основная техническая разница между ними?
Дубликат: Отладка vs. release в .NET
Почему в сборке приложений .NET есть режимы "Debug" и "Release"?
Какова основная техническая разница между ними?
Короткий ответ заключается в том, что код, созданный в режиме "Release", будет оптимизирован для скорости или размера, а также будет иметь всю информацию, используемую для отладки удаленных
Отличия:
И многие другие. Выпуск значительно быстрее, но он не предлагает реальной поддержки отладки. Для отладки существует... режим отладки:)
Основное отличие, как я понимаю, в том, что в режиме отладки вся символьная информация, которая используется отладчиком, сохраняется вместе с программой, поэтому, если разработчик хочет отладить приложение до его выпуска, он может это сделать, присоединяясь к любому отладчику.
Возможно, вы заметили файлы .pdb в папке отладки. Также размер исполняемого файла довольно большой. Однако в режиме Release информация о символе отладчика опущена, предполагая, что конечный пользователь будет использовать приложение, чтобы он не предоставлялся с символами приложения.
Вы можете представить символы как информацию, предоставленную отладчику, чтобы понять, какие локальные переменные, какие функции, где установлены точки останова, и все виды информации, чтобы он мог точно рассказать вам, какая часть кода выполняется в настоящее время.
Да, вы можете даже отлаживать в режиме выпуска [:)]. Для этого существуют сложные процессы.
Однако сборка версии оптимизирована для скорости и производительности. Также в лицензионном соглашении пользователя Microsoft End вы не можете развернуть файлы отладки в клиентской системе.