Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Это не последняя версия этой статьи. В текущей версии см. версию .NET 10 этой статьи.
Предупреждение
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. В текущей версии см. версию .NET 10 этой статьи.
Автор Сурабх Ширхатти
В этой статье описаны поддерживаемые в Visual Studio возможности для отладки приложений ASP.NET Core, выполняющихся в службах IIS в Windows Server. Также здесь приведены пошаговые инструкции по включению этого сценария и настройке проекта.
Предварительные требования
- Visual Studio для Windows
- Рабочая нагрузка ASP.NET и веб-разработка
- Рабочая нагрузка Кроссплатформенная разработка .NET Core
- Сертификат безопасности X.509 (для поддержки HTTPS)
Активация IIS
- В Windows последовательно выберите Панель управления>Программы>Программы и компоненты>Включение или отключение компонентов Windows (в левой части экрана).
- Установите флажок Internet Information Services. Нажмите ОК.
Для установки служб IIS, возможно, потребуется перезагрузить компьютер.
Настройте IIS
В IIS должен быть настроен веб-сайт со следующими параметрами:
-
Имя узла: обычно используется Веб-сайт по умолчанию с именем узла
localhost. Однако подойдет любой допустимый веб-сайт в IIS с уникальным именем хоста. -
Привязка сайта
- Для приложений, которым требуется протокол HTTPS, создайте привязку к порту 443 с помощью сертификата. Обычно используется сертификат разработки IIS Express, но подойдет и любой другой действительный сертификат.
- Для приложений, использующих протокол HTTP, подтвердите привязку к порту 80 или создайте привязку к порту 80 для нового сайта.
- Используйте одну привязку либо для HTTP, либо для HTTPS. Одновременная привязка к портам HTTP и HTTPS не поддерживается.
Включение поддержки служб IIS в Visual Studio во время разработки
Запустите установщик Visual Studio.
Выберите Изменить в установщике программы Visual Studio, которую планируется использовать для поддержки IIS во время разработки.
Для рабочей нагрузки ASP.NET и разработка веб-приложений найдите и установите компонент Поддержка времени разработки в IIS.
Компонент находится в разделе Дополнительно под пунктом Поддержка времени разработки в IIS на панели Сведения об установке справа от рабочих нагрузок. Этот компонент выполнит установку модуля ASP.NET Core, который является собственным модулем IIS, необходимым для запуска приложений ASP.NET Core со службами IIS.
Настройка проекта
перенаправление HTTPS
Если новому проекту требуется протокол HTTPS, установите флажок Настроить для HTTPS в окне Создание веб-приложения ASP.NET Core. Установка этого флажка добавляет в приложение компоненты промежуточного ПО HTTPS Redirection и HSTS при его создании.
Для существующего проекта, требующего HTTPS, используйте компоненты middleware перенаправления на HTTPS и HSTS в Startup.Configure. Дополнительные сведения см. в статье Принудительное использование HTTPS в ASP.NET Core.
В проекте, использующем HTTP, ПО промежуточного слоя для перенаправления на HTTPS и HSTS не добавляются в приложение. Настройка приложения не требуется.
Профиль запуска IIS
Создайте новый профиль запуска, чтобы добавить поддержку IIS во время разработки.
В обозревателе решений щелкните проект правой кнопкой мыши. Выберите Свойства. Откройте вкладку Отладка.
В разделе Профиль нажмите кнопку Новый. Во всплывающем окне присвойте новому профилю имя IIS. Выберите ОК, чтобы создать профиль.
В поле Запуск выберите из списка значение IIS.
Установите флажок Запуск браузера и укажите URL-адрес конечной точки.
Если приложению требуется протокол HTTPS, используйте конечную точку HTTPS (
https://). Для протокола HTTP используйте конечную точку HTTP (http://).Укажите то же имя узла и тот же порт, как в выполненной ранее настройке IIS. Обычно это
localhost.Укажите имя приложения в конце URL-адреса.
Например
https://localhost/WebApplication1(HTTPS) илиhttp://localhost/WebApplication1(HTTP) являются действительными URL-адресами конечной точки.В разделе Переменные среды нажмите кнопку Добавить. Для переменной среды задайте имя
ASPNETCORE_ENVIRONMENTи значениеDevelopment.В области Параметры веб-сервера в поле URL-адрес приложения задайте значение, соответствующее URL-адресу конечной точки в поле Запуск браузера.
В Visual Studio 2019 и последующих версиях параметру Модель размещения задайте значение По умолчанию, чтобы использовать модель размещения проекта. Если для проекта задано свойство
<AspNetCoreHostingModel>в файле проекта, используется значение свойстваInProcessилиOutOfProcess. Если это свойство отсутствует, используется модель размещения приложения по умолчанию, то есть внутрипроцессная. Если приложению требуется явно указать модель размещения, отличную от обычной модели размещения приложения, задайте параметру Модель размещения значениеIn ProcessилиOut Of Processпо необходимости.Сохраните профиль.
Если Visual Studio не используется, можно вручную добавить профиль запуска в файл launchSettings.json в папке Properties. В следующем примере настраивается профиль для использования протокола HTTPS.
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://localhost/WebApplication1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"launchBrowser": true,
"launchUrl": "https://localhost/WebApplication1",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Убедитесь, что конечные точки applicationUrl и launchUrl совпадают и используют тот же протокол (HTTP или HTTPS), что и конфигурация привязки IIS.
Запуск проекта
Запустите Visual Studio от имени администратора.
- Убедитесь, что в раскрывающемся списке конфигурации сборки выбрано значение Отладка.
- Настройте кнопку Начать отладку на профиль IIS и нажмите ее для запуска приложения.
Если вы вошли в Visual Studio без прав администратора, возможно, потребуется перезапуск. Перезапустите Visual Studio при появлении соответствующего запроса.
Если используется недоверенный сертификат разработки, браузер может потребовать, чтобы вы создали исключение для этого недоверенного сертификата.
Примечание.
Отладка конфигурации сборки Release с параметром Только мой код и оптимизациями компилятора ухудшает процесс отладки. Например, точки останова не будут достигнуты.
Дополнительные ресурсы
В этой статье описаны поддерживаемые в Visual Studio возможности для отладки приложений ASP.NET Core, выполняющихся в службах IIS в Windows Server. Также здесь приведены пошаговые инструкции по включению этого сценария и настройке проекта.
Предварительные требования
- Visual Studio для Windows
- Рабочая нагрузка ASP.NET и веб-разработка
- Рабочая нагрузка Кроссплатформенная разработка .NET Core
- Сертификат безопасности X.509 (для поддержки HTTPS)
Активация IIS
- В Windows последовательно выберите Панель управления>Программы>Программы и компоненты>Включение или отключение компонентов Windows (в левой части экрана).
- Установите флажок Internet Information Services. Нажмите ОК.
Для установки служб IIS, возможно, потребуется перезагрузить компьютер.
Настройте IIS
В IIS должен быть настроен веб-сайт со следующими параметрами:
-
Имя узла: обычно используется Веб-сайт по умолчанию с именем узла
localhost. Однако подойдет любой допустимый веб-сайт в IIS с уникальным именем хоста. -
Привязка сайта
- Для приложений, которым требуется протокол HTTPS, создайте привязку к порту 443 с помощью сертификата. Обычно используется сертификат разработки IIS Express, но подойдет и любой другой действительный сертификат.
- Для приложений, использующих протокол HTTP, подтвердите привязку к порту 80 или создайте привязку к порту 80 для нового сайта.
- Используйте одну привязку либо для HTTP, либо для HTTPS. Одновременная привязка к портам HTTP и HTTPS не поддерживается.
Включение поддержки служб IIS в Visual Studio во время разработки
Запустите установщик Visual Studio.
Выберите Изменить в установщике программы Visual Studio, которую планируется использовать для поддержки IIS во время разработки.
Для рабочей нагрузки ASP.NET и разработка веб-приложений найдите и установите компонент Поддержка времени разработки в IIS.
Компонент находится в разделе Дополнительно под пунктом Поддержка времени разработки в IIS на панели Сведения об установке справа от рабочих нагрузок. Этот компонент выполнит установку модуля ASP.NET Core, который является собственным модулем IIS, необходимым для запуска приложений ASP.NET Core со службами IIS.
Настройка проекта
перенаправление HTTPS
Если новому проекту требуется протокол HTTPS, установите флажок Настроить для HTTPS в окне Создание веб-приложения ASP.NET Core. Установка этого флажка добавляет в приложение компоненты промежуточного ПО HTTPS Redirection и HSTS при его создании.
Для существующего проекта, требующего HTTPS, используйте компоненты middleware перенаправления на HTTPS и HSTS в Startup.Configure. Дополнительные сведения см. в статье Принудительное использование HTTPS в ASP.NET Core.
В проекте, использующем HTTP, ПО промежуточного слоя для перенаправления на HTTPS и HSTS не добавляются в приложение. Настройка приложения не требуется.
Профиль запуска IIS
Создайте новый профиль запуска, чтобы добавить поддержку IIS во время разработки.
В обозревателе решений щелкните проект правой кнопкой мыши. Выберите Свойства. Откройте вкладку Отладка.
В разделе Профиль нажмите кнопку Новый. Во всплывающем окне присвойте новому профилю имя IIS. Выберите ОК, чтобы создать профиль.
В поле Запуск выберите из списка значение IIS.
Установите флажок Запуск браузера и укажите URL-адрес конечной точки.
Если приложению требуется протокол HTTPS, используйте конечную точку HTTPS (
https://). Для протокола HTTP используйте конечную точку HTTP (http://).Укажите то же имя узла и тот же порт, как в выполненной ранее настройке IIS. Обычно это
localhost.Укажите имя приложения в конце URL-адреса.
Например
https://localhost/WebApplication1(HTTPS) илиhttp://localhost/WebApplication1(HTTP) являются действительными URL-адресами конечной точки.В разделе Переменные среды нажмите кнопку Добавить. Для переменной среды задайте имя
ASPNETCORE_ENVIRONMENTи значениеDevelopment.В области Параметры веб-сервера в поле URL-адрес приложения задайте значение, соответствующее URL-адресу конечной точки в поле Запуск браузера.
В Visual Studio 2019 и последующих версиях параметру Модель размещения задайте значение По умолчанию, чтобы использовать модель размещения проекта. Если для проекта задано свойство
<AspNetCoreHostingModel>в файле проекта, используется значение свойстваInProcessилиOutOfProcess. Если свойство отсутствует, используется модель размещения приложения по умолчанию — вне процесса. Если приложению требуется явно указать модель размещения, отличную от обычной модели размещения приложения, задайте параметру Модель размещения значениеIn ProcessилиOut Of Processпо необходимости.Сохраните профиль.
Если Visual Studio не используется, можно вручную добавить профиль запуска в файл launchSettings.json в папке Properties. В следующем примере настраивается профиль для использования протокола HTTPS.
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://localhost/WebApplication1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"launchBrowser": true,
"launchUrl": "https://localhost/WebApplication1",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Убедитесь, что конечные точки applicationUrl и launchUrl совпадают и используют тот же протокол (HTTP или HTTPS), что и конфигурация привязки IIS.
Запуск проекта
Запустите Visual Studio от имени администратора.
- Убедитесь, что в раскрывающемся списке конфигурации сборки выбрано значение Отладка.
- Настройте кнопку Начать отладку на профиль IIS и нажмите ее для запуска приложения.
Если вы вошли в Visual Studio без прав администратора, возможно, потребуется перезапуск. Перезапустите Visual Studio при появлении соответствующего запроса.
Если используется недоверенный сертификат разработки, браузер может потребовать, чтобы вы создали исключение для этого недоверенного сертификата.
Примечание.
Отладка конфигурации сборки Release с параметром Только мой код и оптимизациями компилятора ухудшает процесс отладки. Например, точки останова не будут достигнуты.
Дополнительные ресурсы
ASP.NET Core