Какая разница между компиляцией debug = "false" и режимом Release?

В ASP.NET, какая разница между построением проекта в Web.config и режимом Release в Configuration Manager?

Когда вы будете использовать один, а не другой?

Ответ 2

ScottGu сделал довольно хорошее исправление различий здесь в своем блоге.

Обычно я использую этот режим, когда мне нужно делать отладку внутри Visual Studio или если я пытаюсь отследить особенно неприятную ошибку. Поэтому я обычно запускаю режим отладки, чтобы установить значение false.

Ответ 3

В зависимости от того, как вы настроили свое веб-приложение (модель веб-сайта и модель веб-приложения), вы можете развернуть исходный код без компиляции непосредственно на веб-сервере. В этом случае среда выполнения ASP.Net должна знать, как вы хотите, чтобы ваш код скомпилировался после начала запросов.

Ответ 4

При компиляции в режиме "Release" будет использоваться файл web.release.config при компиляции в режиме отладки будет использоваться файл web.debug.config(который также расширяет web.config). См. здесь для получения дополнительной информации об этих файлах.

Эти файлы могут содержать такой раздел:

<system.web>
    <compilation debug="true" />
    <!-- Lines removed for clarity. -->
</system.web>

В ASP.NET этот параметр определяет, выполняется ли объединение или минимизация для оптимизации времени загрузки страницы.

  • Объединение: объединение или объединение нескольких файлов в один файл (чтобы уменьшить количество запросов страниц).
  • Средство минимизации: удаление ненужного пробела и комментариев и сокращение имен переменных для один символ.

См. здесь для получения дополнительной информации о связывании и минимизации.

Значение по умолчанию для'debug 'равно false, поэтому оптимизация включена по умолчанию.