Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы можете отлаживать приложения ASP.NET и ASP.NET Core в Visual Studio. Процесс отличается от ASP.NET и ASP.NET Core, а также от того, выполняется ли он на сервере IIS Express или локальном сервере IIS.
Заметка
Следующие шаги и параметры применяются только к отладке приложений на локальном сервере. Отладка приложений на удаленном сервере IIS использует присоединение к процессуи игнорирует эти параметры. Дополнительные сведения и инструкции по удаленной отладке ASP.NET и ASP.NET Core см. в удаленной отладке ASP.NET Core на удаленном компьютере IISи удаленной отладки службы приложений Azure.
Встроенные серверы Kestrel и IIS Express включены в Visual Studio. Kestrel — это сервер отладки по умолчанию для проектов ASP.NET Core и предварительно настроен. IIS Express — это сервер отладки по умолчанию для ASP.NET.
Предварительные требования для локального сервера IIS
Вы также можете выполнить отладку приложения ASP.NET или ASP.NET Core на локальном сервере IIS (версия 8.0 или более поздней версии), настроенном для запуска приложения. Чтобы выполнить отладку в локальных службах IIS, необходимо выполнить следующие требования:
Если они не установлены, установите ASP.NET и набор веб-разработки. (Повторно запустите установщик Visual Studio, выберите Изменитьи добавьте эту рабочую нагрузку.)
Запустите Visual Studio от имени администратора.
Установите и правильно настройте IIS с нужными версиями ASP.NET и (или) ASP.NET Core. Дополнительные сведения об использовании IIS с ASP.NET Core см. в Host ASP.NET Core на Windows сIIS. Сведения о ASP.NET см. в статье Установка служб IIS и модулей ASP.NET.
Убедитесь, что приложение выполняется в службах IIS и открывается в браузере.
Отладка приложений ASP.NET Core
Профиль по умолчанию с именем https или профиль на основе имени проекта может присутствовать, оба настроены для веб-сервера Kestrel. Если вы выполняете отладку на локальном IIS, убедитесь, что выполнены требования для локальной отладки IIS.
Выберите проект ASP.NET Core в обозревателе решений Visual Studio и щелкните значок свойствили нажмите клавиши ALT+ВВОДили щелкните правой кнопкой мыши и выберите Свойства.
Перейдите на вкладку Отладка и щелкните ссылку, чтобы открыть интерфейс Открытие профилей запуска отладки.
Пользовательский интерфейс, представленный, соответствует параметрам в файле
launchSettings.jsonпроекта. Дополнительные сведения об этом файле см. в разделе "Разработка иlaunchSettings.json" в разделе Использование нескольких сред в ASP.NET Core.Выберите профиль для настройки отладки.
- Для Kestrel выберите профиль https или профиль с именем проекта.
- Для IIS Express выберите IIS Express в раскрывающемся списке.
- Для локального IIS выберите Новый и создайте новый профиль IIS.
Убедитесь, что выбран запуск браузера.
Убедитесь, что URL, URL приложенияи SSL URL приложения правильные.
URL-адрес указывает расположение URL-адреса узла для .NET Core или .NET 5+. Для профиля, названного в честь проекта (то есть, свойство commandName в
launchSettings.jsonProject), сервер Kestrel прослушивает указанный порт. Для профиля IIS обычно это то же значение, что и URL-адрес приложения . Дополнительные сведения см. в разделе профиля запуска IIS в разделе Настройка проекта.URL-адрес приложения и URL-адрес SSL приложения указывают URL-адрес(а) приложения.
- Для профиля https свойство URL-адрес приложения обычно
https://localhost:7241;http://localhost:5175. - Для профиля с именем проекта эти свойства обычно
http://localhost:5000иhttps://localhost:5001. - Для IIS Express URL-адрес SSL приложения обычно
https://localhost:44334.
- Для профиля https свойство URL-адрес приложения обычно
В переменных окруженияудостоверьтесь, что ASPNETCORE_ENVIRONMENT присутствует со значением Development. Если нет, добавьте переменную.
Дополнительные сведения о переменных среды см. в средах.
Чтобы отладить приложение, в проекте установите точки останова для некоторых кодов. На панели инструментов Visual Studio убедитесь, что для конфигурации задано значение Отладка.
Чтобы начать отладку, выберите имя профиля на панели инструментов, например https, IIS Expressили <имя профиля IIS> на панели инструментов, выберите начать отладку из меню отладки или нажмите клавишу F5. Отладчик приостанавливается на точках останова. Если отладчик не может попасть в точки останова, см. раздел Устранение проблем с отладкой.
Отладка приложений ASP.NET
IIS Express — это значение по умолчанию и предварительно настроено. Если вы выполняете отладку в локальных службах IIS, убедитесь, что выполнены требования для отладки локальных служб IIS.
Выберите проект ASP.NET в обозревателе решений Visual Studio и щелкните значок свойствили нажмите клавиши ALT+ВВОДили щелкните правой кнопкой мыши и выберите Свойства.
Выберите вкладку Web.
Если вы не видите вкладку Веб-, см. раздел Отладка приложений ASP.NET Core. Веб-вкладка отображается только для платформы ASP.NET Framework.
В области свойств , в разделе Серверы
- Для Kestrel выберите https в раскрывающемся списке.
- Для IIS Express выберите IIS Express в раскрывающемся списке.
- Для локального IIS
- Выберите Local IIS в раскрывающемся списке.
- Рядом с полем URL-адрес проекта выберите Создать виртуальный каталог, если вы еще не настроили приложение в IIS.
В разделе отладчикивыберите ASP.NET.
Выберите Файл>Сохранить выбранные элементы (или нажмите Ctrl +S) чтобы сохранить изменения.
Чтобы отладить приложение, в проекте установите точки останова для некоторых кодов. На панели инструментов Visual Studio убедитесь, что конфигурация установлена на Отладка, и нужный браузер отображается в IIS Express (<имя браузера>) или Local IIS (<имя браузера>) в поле эмулятора.
Чтобы начать отладку, выберите IIS Express (<имя браузера>) или локальные службы IIS (<имя браузера>) на панели инструментов, выберите Начать отладку в меню отладки или нажмите F5. Отладчик приостанавливается на точках останова. Если отладчик не может попасть в точки останова, см. раздел Устранение проблем с отладкой.
Отладка и устранение неисправностей
Если локальная отладка IIS не может выполняться до точки останова, выполните следующие действия, чтобы устранить неполадки.
Запустите веб-приложение из IIS и убедитесь, что он работает правильно. Оставьте веб-приложение запущенным.
В Visual Studio выберите Отладка > подключиться к процессу или нажмите клавиши CTRL+ALT+Pи подключитесь к процессу ASP.NET или ASP.NET Core (обычно w3wp.exe или dotnet.exe). Дополнительные сведения см. в разделах «Присоединение к процессу» и «Как найти имя процесса ASP.NET».
Если вы можете подключиться и попасть в точку останова с помощью подключения к процессу, но не с помощью отладки>начать отладку или F5, параметр, вероятно, неверный в свойствах проекта. Если вы используете файл HOSTS, убедитесь, что он также настроен правильно.
Настройка отладки в файле web.config
ASP.NET проекты имеют web.config файлы по умолчанию, которые содержат сведения о конфигурации и запуске приложения, включая параметры отладки. Файлы web.config должны быть настроены правильно для отладки. Параметры свойств в предыдущих разделах обновляют файлы web.config, но их также можно настроить вручную.
Заметка
ASP.NET Основные проекты изначально не имеют web.config файлов, но используют appsettings.json и launchSettings.json файлы для настройки и запуска приложений. При развертывании приложения создается файл или файлы web.config в проекте, но обычно они не содержат сведения об отладке.
Совет
Процесс развертывания может обновить параметры web.config, поэтому перед попыткой отладки убедитесь, что web.config настроены для отладки.
Чтобы вручную настроить файл web.config для отладки:
В Visual Studio откройте файл
web.configпроекта ASP.NET.Web.configявляется XML-файлом, поэтому содержит вложенные разделы, помеченные тегами. Найдите разделconfiguration/system.web/compilation. (Если элементcompilationне существует, создайте его.)Убедитесь, что атрибут
debugв элементеcompilationимеет значениеtrue. (Если элементcompilationне содержит атрибутdebug, добавьте его и задайте для него значениеtrue.)Если вы используете локальные службы IIS вместо сервера IIS Express по умолчанию, убедитесь, что значение атрибута
targetFrameworkв элементеcompilationсоответствует платформе на сервере IIS.Элемент
compilationфайлаweb.configдолжен выглядеть следующим образом:Заметка
Этот пример представляет собой частичный
web.config-файл. Обычно в элементахconfigurationиsystem.webесть дополнительные разделы XML, а элементcompilationможет также содержать другие атрибуты и элементы.<configuration> ... <system.web> <compilation debug="true" targetFramework="4.6.1" ... > ... </compilation> </system.web> </configuration>
ASP.NET автоматически обнаруживает все изменения в файлах web.config и применяет новые параметры конфигурации. Вам не нужно перезагрузить компьютер или сервер IIS, чтобы изменения вступили в силу.
Веб-сайт может содержать несколько виртуальных каталогов и подкаталогов с web.config файлами в каждом из них. ASP.NET приложения наследуют параметры конфигурации из файлов web.config на более высоких уровнях в пути URL-адреса. Иерархические параметры web.config файлов применяются ко всем приложениям ASP.NET под ними в иерархии. Установка другой конфигурации в файле web.config ниже в иерархии переопределяет параметры в более высоком файле.
Например, если указать debug="true" в www.microsoft.com/aaa/web.config, любое приложение в папке aaa или в любой вложенной папке aaa наследует этот параметр, за исключением случаев, если одно из этих приложений переопределяет параметр с собственным файлом web.config.
Важный
Режим отладки значительно снижает производительность приложения. При развертывании продуктового приложения или проведении измерений производительности, установите значение debug="false" в web.config и укажите релизную сборку.
Связанное содержимое
- отладка ASP.NET: требования к системе
- Как: Запустить процесс рабочего приложения под учетной записью пользователя
- Практическое руководство. Поиск имени процесса ASP.NET
- Отладка развернутых веб-приложений
- Практическое руководство. Отладка исключений ASP.NET
- Отладка веб-приложений: ошибки и устранение неполадок