Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы можете отключить или включить горячую перезагрузку, которая ранее называлась "Изменить и продолжить" в менюпараметров> Visual Studio во время разработки. горячая перезагрузка работает только в отладочных сборках. Дополнительные сведения см. Hot Reload.
Для нативного C++ для горячей перезагрузки требуется использовать параметр /INCREMENTAL. Дополнительные сведения о требованиях к функциям в C++ смотрите в этой записи блога и Редактирование и продолжение (C++).
Заметка
Если IntelliTrace включен, и вы собираете как события IntelliTrace, так и сведения о вызове, горячая перезагрузка отключена. Дополнительные сведения см. в IntelliTrace.
Изменение и продолжение — это функция экономии времени, которая позволяет вносить изменения в исходный код, пока программа находится в режиме останова. При возобновлении выполнения программы, выбрав команду выполнения, например Продолжить или Шаг , "Изменить и продолжить" автоматически применяет изменения кода с некоторыми ограничениями. Это позволяет вносить изменения в код во время сеанса отладки, а не останавливать, перекомпилировать всю программу и перезапустить сеанс отладки.
Вы можете отключить или включить изменение и продолжить в диалоговом окне "Параметры Visual Studio" во время разработки. "Правки и продолжение" работают только в отладочных сборках. Дополнительные сведения см. в разделе "Изменить и продолжить".
Для нативного C++ Изменить и Продолжить требуется использовать параметр /INCREMENTAL. Дополнительные сведения о требованиях к функциям в C++ смотрите в этой записи блога и Редактирование и продолжение (C++).
Заметка
Если IntelliTrace включен, и вы собираете как события IntelliTrace, так и информацию о вызовах, функция "Исправить и продолжить" отключается. Дополнительные сведения см. в IntelliTrace.
Включение и настройка горячей перезагрузки
Вы можете настроить горячую перезагрузку, выбрав параметры в раскрывающемся списке "Горячая перезагрузка ".
Или откройте панель "Инструменты>Параметры" и настройте параметры в разделе "Все параметры>Отладка>.NET/C++ "Горячая перезагрузка"". Имеются следующие варианты:
Включение горячей перезагрузки. Используйте функцию горячей перезагрузки с кодом .NET и C++ при запуске приложения с подключенным отладчиком (F5).
Автоматическое применение изменений при продолжении (только в нативном коде): Visual Studio автоматически компилирует и применяет все непримененные изменения кода, внесенные во время паузы. Если не выбрано, можно применить изменения с помощью элемента "Применить изменения кода " в меню отладки .
Предупреждать об устаревшем коде (только для нативного кода): Предупреждения об устаревшем коде.
Включить, когда отладка не выполняется: активирует Hot Reload при запуске вашего приложения без подключения отладчика (Ctrl + F5).
Применить при сохранении файла: применяет изменения при сохранении файла.
Детализация ведения журнала. Задайте уровень ведения журнала, если включена горячая перезагрузка: минимальное, подробное или диагностическое.
Откройте диалоговое окно Инструменты>Параметры и настройте параметры в разделе отладки .NET/C++> Горячая перезагрузка. Имеются следующие варианты:
Включение горячей перезагрузки: включает горячую перезагрузку при запуске подключенного отладчика (F5).
Включите горячую перезагрузку при запуске без отладки: включает горячую перезагрузку при запуске без подключенного отладчика (CTRL+F5).
Горячая перезагрузка применяется при сохранении файла: код изменяется при его сохранении.
Подробность журналирования: Фильтрует объем информации, отображаемый в окне выходных данных Hot Reload.
Для C++ можно задать дополнительные параметры, открыв Средства>Параметры>Отладка>Общие. Убедитесь, что включен параметр "Включить горячую перезагрузку", и настройте остальные опции:
Примените изменения при возобновлении (только на платформе): Visual Studio автоматически компилирует и применяет все непримененные изменения кода, внесенные при возобновлении процесса из состояния останова. Если не выбрано, можно применить изменения с помощью элемента "Применить изменения кода " в меню отладки .
Предупреждать об устаревшем коде (только для нативного кода): Предупреждения об устаревшем коде.
Для Hot Reload в .NET вы также можете управлять доступностью Hot Reload на уровне проекта, изменив файл launchSetting.json проекта .NET 6+ и установив значение hotReloadEnabled на false.
Пример:
{
"profiles": {
"Console": {
"commandName": "Project",
"hotReloadEnabled": false
}
}
}
Включение или отключение функции "Правка и продолжение"
Если вы находитесь в сеансе отладки, прекратите отладку (Debug>Прекратить отладку или Shift+F5).
В Инструменты>Параметры> (или Отладка>Параметры) >Отладка>Общиевыберите Изменить и продолжить в правой панели.
Заметка
Если IntelliTrace включен, и вы собираете как события IntelliTrace, так и информацию о вызовах, функция "Исправить и продолжить" отключается. Дополнительные сведения см. в IntelliTrace.
Для кода C++ убедитесь, что выбран Включить собственные изменения и продолжение, и установите остальные параметры:
Примените изменения при продолжении (только для нативного кода): Visual Studio автоматически компилирует и применяет все несохранённые изменения кода, внесенные до продолжения процесса из состояния останова. Если не выбрано, можно применить изменения с помощью элемента "Применить изменения кода " в меню отладки .
Предупреждать об устаревшем коде (только для нативного кода): Предупреждения об устаревшем коде.
Нажмите кнопку ОК.
Настройка автоматического перезапуска
Горячая перезагрузка может автоматически перезапустить процесс приложения, когда вносится неподдерживаемое изменение (также называемое грубым изменением), вместо завершения всего сеанса отладки. Чтобы активировать это, измените файл проекта, добавив следующее объявление свойства.
<PropertyGroup>
<HotReloadAutoRestart>true</HotReloadAutoRestart>
</PropertyGroup>
Это свойство также можно задать в файле Directory.Build.props . Автоматическая перезагрузка работает для типов проектов, где быстрая перезагрузка процесса возможна (например, некоторые проекты Aspire или веб-проектов), чтобы продолжить отладку с минимальным прерыванием.
Это перезапуск на основе процесса. Например, при отладке нескольких проектов только измененные проекты и все зависимые проекты будут перестроены и перезапущены.
Настройка горячей перезагрузки для Razor
При совместном размещении компилятора Razor внутри процесса Roslyn редактирование razor-файла во время горячей перезагрузки выполняется быстрее и эффективнее. Совместный хостинг также улучшает общую стабильность при использовании горячей перезагрузки.
Чтобы включить кохостинг, выберите Инструменты>Параметры, а затем выполните поиск cohost. Выберите или отмените выбор параметра Use Roslyn Cohost server for Razor (требуется перезапуск). Если этот параметр включен, перезапустите Visual Studio. Совместное размещение включено по умолчанию.
Остановка изменений кода
Пока Hot Reload находится в процессе применения изменений кода, операцию можно остановить.
Пока функция "Edit and Continue" в процессе применения изменений кода, вы можете остановить операцию.
Осторожность
Остановка изменений кода в управляемом коде может привести к непредвиденным результатам. Применение изменений к управляемому коду обычно является быстрым процессом, поэтому редко требуется остановить изменения кода в управляемом коде.
Чтобы остановить применение изменений кода, выполните следующее:
Выберите Остановить применение изменений кода в меню отладки.
Этот пункт меню отображается только при применении изменений кода.
Если выбрать этот параметр, ни одно из изменений кода не фиксируется.