Visual studio отладка iis
Предварительные требования
Активация IIS
Для установки служб IIS, возможно, потребуется перезагрузить компьютер.
Настройка IIS
В службах IIS нужно настроить веб-сайт со следующими характеристиками:
Включение поддержки служб IIS в Visual Studio во время разработки
Запустите установщик Visual Studio.
Выберите Изменить в установщике программы Visual Studio, которую планируется использовать для поддержки IIS во время разработки.
Настройка проекта
Профиль запуска служб IIS
Создайте новый профиль запуска, чтобы добавить поддержку IIS во время разработки.
В обозревателе решений щелкните проект правой кнопкой мыши. Выберите пункт Свойства. Откройте вкладку Отладка.
В поле Запуск выберите из списка значение IIS.
Установите флажок Запуск браузера и укажите URL-адрес конечной точки.
Укажите то же имя узла и тот же порт, как в выполненной ранее настройке IIS. Обычно это localhost .
Укажите имя приложения в конце URL-адреса.
В разделе Переменные среды нажмите кнопку Добавить. Для переменной среды задайте имя ASPNETCORE_ENVIRONMENT и значение Development .
В области Параметры веб-сервера в поле URL-адрес приложения задайте значение, соответствующее URL-адресу конечной точки в поле Запуск браузера.
В Visual Studio 2019 и последующих версиях параметру Модель размещения задайте значение По умолчанию, чтобы использовать модель размещения проекта. Если для проекта задано свойство в файле проекта, используется значение свойства InProcess или OutOfProcess . Если свойство не задано, используется модель размещения приложения по умолчанию In Process. Если приложению требуется явно указать модель размещения, отличную от обычной модели размещения приложения, задайте параметру Модель размещения значение In Process или Out Of Process по необходимости.
Запуск проекта
Запустите Visual Studio от имени администратора.
- Убедитесь, что для раскрывающегося списка с конфигурацией сборки построения выбрано значение Отладка.
- Настройте кнопку Начать отладку на профиль IIS и нажмите ее для запуска приложения.
Если вы вошли в Visual Studio без прав администратора, возможно, потребуется перезапуск. Перезапустите Visual Studio при появлении соответствующего запроса.
Если используется сертификат разработки без доверия, возможно, потребуется создать исключение для этого ненадежного сертификата по запросу в браузере.
Отладка конфигурации сборки выпуска с использованием функции Только мой код и оптимизации компилятора приводит к ограничению возможностей. Например, точки останова не будут достигнуты.
Дополнительные ресурсы
Предварительные требования
Активация IIS
Для установки служб IIS, возможно, потребуется перезагрузить компьютер.
Настройка IIS
В службах IIS нужно настроить веб-сайт со следующими характеристиками:
Включение поддержки служб IIS в Visual Studio во время разработки
Запустите установщик Visual Studio.
Выберите Изменить в установщике программы Visual Studio, которую планируется использовать для поддержки IIS во время разработки.
Настройка проекта
Профиль запуска служб IIS
Создайте новый профиль запуска, чтобы добавить поддержку IIS во время разработки.
В обозревателе решений щелкните проект правой кнопкой мыши. Выберите пункт Свойства. Откройте вкладку Отладка.
В поле Запуск выберите из списка значение IIS.
Установите флажок Запуск браузера и укажите URL-адрес конечной точки.
Укажите то же имя узла и тот же порт, как в выполненной ранее настройке IIS. Обычно это localhost .
Укажите имя приложения в конце URL-адреса.
В разделе Переменные среды нажмите кнопку Добавить. Для переменной среды задайте имя ASPNETCORE_ENVIRONMENT и значение Development .
В области Параметры веб-сервера в поле URL-адрес приложения задайте значение, соответствующее URL-адресу конечной точки в поле Запуск браузера.
В Visual Studio 2019 и последующих версиях параметру Модель размещения задайте значение По умолчанию, чтобы использовать модель размещения проекта. Если для проекта задано свойство в файле проекта, используется значение свойства InProcess или OutOfProcess . Если свойство не задано, используется модель размещения приложения по умолчанию Out Of Process. Если приложению требуется явно указать модель размещения, отличную от обычной модели размещения приложения, задайте параметру Модель размещения значение In Process или Out Of Process по необходимости.
Запуск проекта
Запустите Visual Studio от имени администратора.
- Убедитесь, что для раскрывающегося списка с конфигурацией сборки построения выбрано значение Отладка.
- Настройте кнопку Начать отладку на профиль IIS и нажмите ее для запуска приложения.
Если вы вошли в Visual Studio без прав администратора, возможно, потребуется перезапуск. Перезапустите Visual Studio при появлении соответствующего запроса.
Если используется сертификат разработки без доверия, возможно, потребуется создать исключение для этого ненадежного сертификата по запросу в браузере.
Отладка конфигурации сборки выпуска с использованием функции Только мой код и оптимизации компилятора приводит к ограничению возможностей. Например, точки останова не будут достигнуты.
В Visual Studio 2017 найдите компонент Поддержка IIS во время разработки. Убедитесь, что он выбран при добавлении рабочей нагрузки.
Запустите Visual Studio от имени администратора.
Убедиться, что приложение работает в IIS без ошибок.
Сервер IIS Express используется по умолчанию и уже предварительно настроен. Если вы хотите выполнять отладку на локальном сервере IIS, убедитесь, что выполняются требования для отладки на локальном сервере IIS.
Перейдите на вкладку Интернет.
В области Свойства в разделе Серверы выполните следующее.
- Для сервера IIS Express выберите IIS Express в раскрывающемся списке.
- Для локального сервера IIS:
- в раскрывающемся списке выберите Локальный сервер IIS;
- рядом с полем URL-адрес проекта установите флажок Создать виртуальный каталог, если вы еще не настроили приложение в службах IIS.
Выберите Файл > Сохранить выбранные элементы или нажмите сочетание клавиш CTRL+S, чтобы сохранить изменения.
Для отладки приложения установите точки останова в некоторых местах кода проекта. В панели инструментов Visual Studio убедитесь, что для конфигурации задано значение Отладка, и нужный вам браузер отображается в поле эмулятора IIS Express () или Локальный сервер IIS () .
Чтобы начать отладку, в панели инструментов выберите IIS Express () или Локальный сервер IIS() , а затем выберите Начать отладку в меню Отладка или нажмите клавишу F5. Отладчик приостанавливает выполнение в точках останова. Если отладчик не может попасть в точки останова, см. раздел Устранение неполадок при отладке.
Сервер IIS Express используется по умолчанию и уже предварительно настроен. Если вы выполняете отладку на локальном сервере IIS, а не на IIS Express, убедитесь, что выполняются требования для отладки на локальном сервере IIS. Также имеется профиль по умолчанию, основанный на имени проекта, который настроен для веб-сервера Kestrel.
Перейдите на вкладку Отладка и щелкните ссылку, чтобы открыть Пользовательский интерфейс профилей запуска отладки.
Выберите профиль, который необходимо настроить для отладки.
- Для сервера IIS Express выберите IIS Express в раскрывающемся списке.
- Для Kestrel выберите профиль с таким же именем, как и у проекта.
- Для локальных служб IIS выберите Создать и создайте профиль IIS.
Убедитесь, что флажок Запуск браузера установлен.
Убедитесь, что URL-адрес, URL-адрес приложения и URL-адрес SSL приложения указаны правильно.
URL-адрес задает расположение узла для .NET или .NET Core. Если профиль назван как проект (то есть свойство commandName в launchSettings.json имеет значение Project), то сервер Kestrel ожидает передачи данных по указанному порту. Для профиля IIS значение обычно совпадает с URL-адресом приложения. Дополнительные сведения см. в разделе Настройка проекта в части "Профиль запуска служб IIS".
В разделе Переменные среды убедитесь, что параметр ASPNETCORE_ENVIRONMENT существует и имеет значение Разработка. Если это не так, добавьте переменную.
Дополнительные сведения о переменных среды см. в разделе Среды.
Для отладки приложения установите точки останова в некоторых местах кода проекта. На панели инструментов Visual Studio убедитесь, что в качестве параметра конфигурации задано значение Отладка.
Чтобы начать отладку, выберите имя профиля на панели инструментов, например , IIS Express или на панели инструментов, выберите Начать отладку в меню Отладка или нажмите клавишу F5. Отладчик приостанавливает выполнение в точках останова. Если отладчик не может попасть в точки останова, см. раздел Устранение неполадок при отладке.
Сервер IIS Express используется по умолчанию и уже предварительно настроен. Если вы хотите выполнять отладку на локальном сервере IIS, убедитесь, что выполняются требования для отладки на локальном сервере IIS.
Выберите вкладку Отладка.
В области Свойства рядом с полем Профиль выполните следующее.
- Для сервера IIS Express выберите IIS Express в раскрывающемся списке.
- Для локального сервера IIS выберите в раскрывающемся списке имя приложения или нажмите Создать, создайте новое имя профиля и нажмите кнопку ОК.
В раскрывающемся списке рядом с полем Запуск выберите IIS Express или IIS.
Убедитесь, что флажок Запуск браузера установлен.
В разделе Переменные среды убедитесь, что параметр ASPNETCORE_ENVIRONMENT существует и имеет значение Разработка. Если этот параметр отсутствует, нажмите кнопку Добавить и добавьте его.
Выберите Файл > Сохранить выбранные элементы или нажмите сочетание клавиш CTRL+S, чтобы сохранить изменения.
Для отладки приложения установите точки останова в некоторых местах кода проекта. В панели инструментов Visual Studio убедитесь, что для конфигурации задано значение Отладка, а в поле эмулятора указано IIS Express или имя нового профиля IIS.
Чтобы начать отладку, в панели инструментов выберите IIS Express или , а затем выберите Начать отладку в меню Отладка или нажмите клавишу F5. Отладчик приостанавливает выполнение в точках останова. Если отладчик не может попасть в точки останова, см. раздел Устранение неполадок при отладке.
Устранение неполадок отладки
Если при отладке на локальном сервере IIS не удается достичь точки останова, выполните следующие шаги для устранения неполадок.
Запустите веб-приложение из IIS и убедитесь, что оно работает правильно. Оставьте веб-приложение работать.
Если вы можете подключиться и попасть в точку останова путем выбора пункта Подключиться к процессу, но не путем выбора Отладка > Начать отладку или нажатия клавиши F5, скорее всего, в свойствах проекта неправильно задан параметр. Если вы используете файл HOSTS, также проверьте правильность его настройки.
Настройка отладки в файле web.config
Процесс развертывания может обновить параметры в web.config, поэтому, прежде чем приступить к отладке, проверьте, настроена ли отладка в файле web.config.
Чтобы вручную настроить отладку в файле web.config, выполните следующие действия.
Файл web.config — это XML-файл, поэтому он содержит вложенные разделы, помеченные тегами. Найдите раздел configuration/system.web/compilation . (Если элемент compilation не существует, создайте его.)
Убедитесь, что атрибут debug в элементе compilation имеет значение true . (Если в элементе compilation отсутствует атрибут debug , добавьте его и установите для него значение true .)
Если вместо сервера IIS Express по умолчанию вы используете локальный сервер IIS, убедитесь, что значение атрибута targetFramework в элементе compilation соответствует платформе на сервере IIS.
Элемент compilation в файле web.config должен выглядеть, как показано в следующем примере:
Этот пример представляет часть файла web.config. Обычно в элементах configuration и system.web имеются дополнительные разделы XML, а элемент compilation может также содержать другие атрибуты и элементы.
Публикация в режиме отладки с помощью файловой системы
Существуют разные способы публикации приложений в IIS. Приведенные далее действия показывают, как можно создать и развернуть профиль публикации в режиме отладки с помощью файловой системы. Для этого необходимо запустить Visual Studio от имени администратора.
После изменения кода или повторной сборки необходимо еще раз выполнить эти действия для повторной публикации.
В Visual Studio щелкните проект правой кнопкой мыши и выберите Опубликовать.
Выберите IIS, FTP и т. п. и нажмите Опубликовать.
В диалоговом окне CustomProfile в качестве метода публикации выберите файловую систему.
В поле Целевое расположение нажмите кнопку Обзор ( . ).
Выберите Далее.
В разделе Конфигурация выберите в раскрывающемся списке пункт Отладка.
В диалоговом окне Опубликовать убедитесь, что отображается CustomProfile (или имя только что созданного профиля), и параметр LastUsedBuildConfiguration имеет значение Отладка.
Нажмите Публиковать.
Режим отладки значительно снижает производительность приложения. Для улучшения производительности установите debug="false" в файле web.config, а при развертывании рабочего приложения или при выполнении измерений производительности указывайте сборку выпуска.
Для тех, кто не хочет ждать официальной поддержки IIS Express в Visual Studio, есть простой способ прикрутить возможность отладки самостоятельно.
Все, что нам понадобится — это скачать WebMatrix beta, в который входит IIS Express(отдельно скачать пока нет возможности).
Ставим IIS Express
После установки WebMatrix находим и редактируем файл «My Documents\IISExpress8\config\applicationhost.config».
Переходим к 145й строке и создаем еще одно определение сайта по образу и подобию WebSite1, удалив атрибут serverAutoStart:
Думаю значения измененных атрибутов очевидны, так что пропустим их описание.
Настало время запустить наш сервер. Сделать это можно следующей командой:
"C:\Program Files (x86)\Microsoft WebMatrix\iisexpress.exe" /site:
Вместо нужно подставить имя вашего сайта, которое вы указали в applicationhost.config. В моем случае это VSDebug. Если все сделано правильно, то сервер запустится и ваш сайт будет доступен.
Настраиваем Visual Studio
Запускаем студию и загружаем в нее наш сайт. Делаем правый клик по проекту, выбираем Properties и переходим на таб Web. Здесь нам нужно выбрать Start External Program и указать команду запуска нашего сервера.
Ниже, в этом же окне, выбираем Use Custom Web Server и снова вводим URL сайта.
В разделе Debuggers снимаем все флажки, т.к. студия будет пытаться приаттачиться к IIS и не позволит нам выполнять отладку.
Теперь сохраняем свойства и жмем F5, чтобы запустить отладку. Открыть сайт в браузере можно воспользовавшись иконкой IIS Express в трее.
P.S. На описание этого процесса меня сподвигла следующая статья Kamran Ayub. Однако думаю, что описанный мной способ несколько проще и избавляет от необходимости руками перезапускать сервер и аттачиться к нему.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
. moniker range=">=vs-2019" Для Visual Studio 2019 требуется выполнить действия, описанные в этой статье. . moniker-end . moniker range="vs-2017" Для Visual Studio 2017 требуется выполнить действия, описанные в этой статье. . moniker-end
Эти процедуры были протестированы в следующих конфигурациях сервера.
- Windows Server 2012 R2 и IIS 8
- Windows Server 2016 и IIS 10
- Windows Server 2019 и IIS 10
Требования к сети
Отладка между двумя компьютерами, подключенными через прокси-сервер, не поддерживается. Отладка через подключение с высокой задержкой или низкой пропускной способностью, например при подключении к Интернету по коммутируемой линии или при размещении компьютеров в разных странах, может приводить к сбоям или работать недопустимо медленно и поэтому не рекомендуется. Полный список требований см. в разделе Требования.
Приложение уже запущено в службах IIS?
Эта статья содержит инструкции по настройке базовой конфигурации IIS в Windows Server и развертыванию приложения из Visual Studio. Эти шаги помогают убедиться, что на сервере установлены необходимые компоненты, приложение работает корректно и вы готовы к удаленной отладке.
Если приложение выполняется в службах IIS и требуется загрузить удаленный отладчик и начать отладку, перейдите на страницу Загрузка и установка средств удаленной отладки на Windows Server.
Если вы хотите убедиться, что приложение настроено, развернуто и правильно работает в службах IIS, чтобы можно было выполнить отладку, выполните все действия, описанные в этом разделе.
Откройте файл About.cshtml.cs и установите точку останова в методе OnGet (в старых шаблонах откройте HomeController.cs, а затем установите точку останова в методе About() ).
Установка и настройка IIS в Windows Server
Обновление параметров безопасности браузера в Windows Server
Если в Internet Explorer включена усиленная конфигурация безопасности (включена по умолчанию), возможно, потребуется добавить некоторые домены в качестве доверенных сайтов, чтобы можно было загрузить некоторые из компонентов веб-сервера. Добавьте доверенные сайты в разделе Свойства обозревателя > Безопасность > Надежные сайты > Сайты. Добавьте следующие домены.
При скачивании программного обеспечения вы можете получать запросы на предоставление разрешений для разных скриптов и ресурсов веб-сайта. Некоторые из этих ресурсов не являются обязательными, но для упрощения процесса щелкните Добавить при появлении запроса.
Перезапустите систему (или выполните в командной строке команду net stop was /y, а затем команду net start w3svc, чтобы изменение системной переменной PATH вступило в силу).
Выбор способа развертывания
Если вам нужна помощь в развертывании приложения в службах IIS, рассмотрите следующие варианты.
Выполните развертывание, создав файл параметров публикации в IIS и импортировав параметры в Visual Studio. В некоторых сценариях этот способ позволяет быстро развертывать приложения. При создании файла параметров публикации разрешения автоматически настраиваются в службах IIS.
Выполните развертывание путем публикации в локальной папке и копирования выходных данных предпочтительным методом в подготовленную папку приложения в службах IIS.
(Дополнительно) Выполните развертывание с помощью файла параметров публикации
С помощью этого параметра можно создать файл параметров публикации и импортировать его в Visual Studio.
Остановите и снова запустите DefaultAppPool.
Установка и настройка веб-развертывания для серверов размещения в Windows Server
Создание файла параметров публикации в IIS в Windows Server
Импорт параметров публикации в Visual Studio и развертывание
После успешного развертывания приложение должно запускаться автоматически. Если приложение не запускается из Visual Studio, запустите его в IIS, чтобы проверить корректность его выполнения. Для ASP.NET Core также необходимо убедиться, что в поле "Пул приложений" для DefaultAppPool задано значение Без управляемого кода.
Переключитесь на конфигурацию отладки.
. moniker range=">=vs-2019" Выберите Изменить, чтобы изменить профиль,а затем — Параметры. Выберите конфигурацию Отладка, а затем выберите Удалить дополнительные файлы в пункте назначения в параметрах Публикация файла. . moniker-end . moniker range="vs-2017" В диалоговом окне Параметры включите отладку, нажав кнопку Далее, выберите конфигурацию Отладка, а затем выберите Удалить дополнительные файлы в пункте назначения в параметрах Публикация файла. . moniker-end
[!IMPORTANT] Если вы выбираете конфигурацию выпуска, отладку можно отключить при публикации в файле web.config.
Щелкните Сохранить, а затем повторно опубликуйте приложение.
(Дополнительно) Развертывание путем публикации в локальной папке
Этот параметр можно использовать для развертывания приложения, если требуется скопировать приложение в IIS с помощью PowerShell или RoboCopy или скопировать файлы вручную.
Откройте узел Диспетчер служб IIS, если он еще не открыт. (В левой области диспетчер сервера выберите IIS. Щелкните сервер правой кнопкой мыши и выберите Диспетчер служб IIS.)
В разделе Подключения в левой области перейдите к пункту Сайты.
Нажмите Веб-сайт по умолчанию, выберите Основные параметры и задайте для параметра Физический путь значение C:\Publish.
Щелкните правой кнопкой мыши узел Веб-сайт по умолчанию и выберите команду Добавить приложение.
Задайте для поля Псевдоним значение MyASPApp, примите пул приложений по умолчанию (DefaultAppPool) и установите для параметра Физический путь значение C:\Publish.
В разделе Подключения выберите Пулы приложений. Откройте DefaultAppPool и задайте для поля "Пул приложений" значение Без управляемого кода.
Щелкните правой кнопкой мыши новый сайт в диспетчере служб IIS, нажмите Изменить разрешения и убедитесь, что IUSR, IIS_IUSRS или пользователь, настроенный для доступа к веб-приложению, является полномочным пользователем с правами на чтение и выполнение.
Если вы не видите пользователей с доступом, выполните действия, чтобы добавить учетную запись IUSR в качестве пользователя с правами на чтение и выполнение.
Публикация и развертывание приложения путем публикации в локальной папке из Visual Studio
Можно также опубликовать и развернуть приложение с помощью файловой системы или других средств.
Загрузка и установка инструментов удаленной отладки в Windows Server
Загрузите версию удаленных инструментов, которая соответствует вашей версии Visual Studio.
Настройка удаленного отладчика в Windows Server
[!NOTE] Если вам нужно добавить разрешения для дополнительных пользователей, изменить режим проверки подлинности или настроить номер порта для удаленного отладчика, воспользуйтесь инструкциями по настройке удаленного отладчика.
Сведения о запуске удаленного отладчика в качестве службы см. в разделе Запуск удаленного отладчика в качестве службы.
На компьютере Visual Studio откройте решение, которое вы пытаетесь отладить (в этой статье мы используем MyASPApp).
В Visual Studio выберите пункт Отладка > Присоединить к процессу (CTRL+ALT+P).
[!TIP] В Visual Studio 2017 и более поздних версиях можно повторно присоединиться к тому же процессу, выбрав Отладка > Присоединиться к процессу повторно. (SHIFT + ALT + P).
В поле "Квалификатор" задайте значение и нажмите клавишу ВВОД.
Убедитесь, что Visual Studio добавляет требуемый порт в имя компьютера, которое отображается в формате :порт.
. moniker range=">=vs-2022" В Visual Studio 2022 должно отображаться :4026. . moniker-end . moniker range="vs-2019" В Visual Studio 2019 должно отображаться :4024. . moniker-end . moniker range="vs-2017" В Visual Studio 2017 должно отображаться :4022. . moniker-end Указывать порт обязательно. Если номер порта не отображается, добавьте его вручную.
Если вы не видите никаких процессов, попробуйте использовать IP-адрес вместо имени удаленного компьютера (указывать порт обязательно). Для получения IPv4-адреса можно использовать ipconfig в командной строке.
Если вы хотите использовать кнопку Найти, может потребоваться открыть UDP-порт 3702 на сервере.
Установите флажок Показать процессы, запущенные всеми пользователями.
Введите первую букву имени процесса, чтобы быстро найти приложение.
В противном случае выберите процесс dotnet.exe. (Это модель размещения вне процесса.)
При наличии нескольких процессов, отображающих w3wp.exe или dotnet.exe, проверьте столбец Имя пользователя. В некоторых сценариях в столбце Имя пользователя отображается имя пула приложений, например IIS APPPOOL\DefaultAppPool. Если вы видите пул приложений, но он не уникален, создайте новый именованный пул приложений для отлаживаемого экземпляра приложения, после чего его можно будет найти в столбце Имя пользователя.
. moniker range=">=vs-2019" . moniker-end . moniker range="vs-2017" . moniker-end
В Visual Studio должна быть достигнута точка останова.
Устранение неполадок при развертывании IIS
Откройте необходимые порты на сервере Windows Server
[!NOTE] На виртуальной машине Azure порты необходимо открывать через группы безопасности сети.
- 80 — требуется для IIS (HTTP) . moniker range=">=vs-2022"
- 4026 — требуется для удаленной отладки из Visual Studio 2022 (дополнительные сведения см. в разделе Назначения портов удаленного отладчика). . moniker-end . moniker range="vs-2019"
- 4024 — требуется для удаленной отладки из Visual Studio 2019 (дополнительные сведения см. в разделе Назначения портов удаленного отладчика). . moniker-end . moniker range="vs-2017"
- 4022 — требуется для удаленной отладки из Visual Studio 2017 (дополнительные сведения см. в разделе Назначения портов удаленного отладчика). . moniker-end
- UDP 3702 — (необязательно) порт обнаружения позволяет использовать кнопку Найти при подключении к удаленному отладчику в Visual Studio.
Чтобы открыть порт в Windows Server, в меню Пуск найдите пункт Брандмауэр Windows в режиме повышенной безопасности.
Затем выберите Правила для входящего трафика > Создать правило > Порт, а затем нажмите Далее. (Для UDP 3702 вместо этого выберите Правила для исходящего трафика.)
В разделе Определенные локальные порты введите номер порта и нажмите кнопку Далее.
Нажмите Разрешить соединение и Далее.
Выберите один или несколько типов сетей, которые нужно включить для порта, и нажмите Далее.
Выбранные типы должны включать сеть, к которой подключен удаленный компьютер.
Добавьте имя (например, IIS, Веб-развертывание или msvsmon) для правила входящего трафика и щелкните Готово.
Новое правило должно появиться в списке "Правила для входящих подключений" или "Правила для исходящих подключений".
Информацию о настройке брандмауэра Windows см. в разделе Настройка брандмауэра Windows для удаленной отладки.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
. moniker range=">=vs-2019" Для Visual Studio 2019 требуется выполнить действия, описанные в этой статье. . moniker-end . moniker range="vs-2017" Для Visual Studio 2017 требуется выполнить действия, описанные в этой статье. . moniker-end
Эти процедуры были протестированы в следующих конфигурациях сервера.
- Windows Server 2012 R2 и IIS 8 (в Windows Server 2008 R2 шаги для сервера отличаются)
Требования к сети
Удаленный отладчик поддерживается в среде Windows Server начиная с версии Windows Server 2008 с пакетом обновления 2 (SP2). Полный список требований см. в разделе Требования.
[!NOTE] Отладка между двумя компьютерами, подключенными через прокси-сервер, не поддерживается. Отладка через подключение с высокой задержкой или низкой пропускной способностью, например при подключении к Интернету по коммутируемой линии или при размещении компьютеров в разных странах, может приводить к сбоям или работать недопустимо медленно и поэтому не рекомендуется.
Приложение уже запущено в службах IIS?
Эта статья содержит инструкции по настройке базовой конфигурации IIS в Windows Server и развертыванию приложения из Visual Studio. Эти шаги помогают убедиться, что на сервере установлены необходимые компоненты, приложение работает корректно и вы готовы к удаленной отладке.
Если приложение выполняется в службах IIS и требуется загрузить удаленный отладчик и начать отладку, перейдите на страницу Загрузка и установка средств удаленной отладки на Windows Server.
Если вы хотите убедиться, что приложение настроено, развернуто и правильно работает в службах IIS, чтобы можно было выполнить отладку, выполните все действия, описанные в этом разделе.
Откройте файл HomeController.cs и установите точку останова в методе About() .
Установка и настройка IIS в Windows Server
Обновление параметров безопасности браузера в Windows Server
Если в Internet Explorer включена усиленная конфигурация безопасности (включена по умолчанию), возможно, потребуется добавить некоторые домены в качестве доверенных сайтов, чтобы можно было загрузить некоторые из компонентов веб-сервера. Добавьте доверенные сайты в разделе Свойства обозревателя > Безопасность > Надежные сайты > Сайты. Добавьте следующие домены.
При скачивании программного обеспечения вы можете получать запросы на предоставление разрешений для разных скриптов и ресурсов веб-сайта. Некоторые из этих ресурсов не являются обязательными, но для упрощения процесса щелкните Добавить при появлении запроса.
В левой области диспетчер сервера выберите IIS. Щелкните сервер правой кнопкой мыши и выберите Диспетчер служб IIS.
Перезапустите систему (или выполните в командной строке команду net stop was /y, а затем команду net start w3svc, чтобы изменение системной переменной PATH вступило в силу).
Выбор способа развертывания
Если вам нужна помощь в развертывании приложения в службах IIS, рассмотрите следующие варианты.
Выполните развертывание, создав файл параметров публикации в IIS и импортировав параметры в Visual Studio. В некоторых сценариях этот способ позволяет быстро развертывать приложения. При создании файла параметров публикации разрешения автоматически настраиваются в службах IIS.
Выполните развертывание путем публикации в локальной папке и копирования выходных данных предпочтительным методом в подготовленную папку приложения в службах IIS.
(Дополнительно) Выполните развертывание с помощью файла параметров публикации
С помощью этого параметра можно создать файл параметров публикации и импортировать его в Visual Studio.
Установка и настройка веб-развертывания для серверов размещения в Windows Server
Создание файла параметров публикации в IIS в Windows Server
Импорт параметров публикации в Visual Studio и развертывание
После успешного развертывания приложение должно запускаться автоматически. Если приложение не запускается из Visual Studio, запустите его в IIS.
Переключитесь на конфигурацию отладки.
. moniker range=">=vs-2019" Выберите Изменить, чтобы изменить профиль,а затем — Параметры. Выберите конфигурацию Отладка, а затем выберите Удалить дополнительные файлы в пункте назначения в параметрах Публикация файла. . moniker-end . moniker range="vs-2017" В диалоговом окне Параметры включите отладку, нажав кнопку Далее, выберите конфигурацию Отладка, а затем выберите Удалить дополнительные файлы в пункте назначения в параметрах Публикация файла. . moniker-end
[!IMPORTANT] Если вы выбираете конфигурацию выпуска, отладку можно отключить при публикации в файле web.config.
Щелкните Сохранить, а затем повторно опубликуйте приложение.
(Дополнительно) Развертывание путем публикации в локальной папке
Этот параметр можно использовать для развертывания приложения, если требуется скопировать приложение в IIS с помощью PowerShell или RoboCopy или скопировать файлы вручную.
Откройте узел Диспетчер служб IIS, если он еще не открыт. (В левой области диспетчер сервера выберите IIS. Щелкните сервер правой кнопкой мыши и выберите Диспетчер служб IIS.)
В разделе Подключения в левой области перейдите к пункту Сайты.
Нажмите Веб-сайт по умолчанию, выберите Основные параметры и задайте для параметра Физический путь значение C:\Publish.
Щелкните правой кнопкой мыши узел Веб-сайт по умолчанию и выберите команду Добавить приложение.
Задайте для поля Псевдоним значение MyASPApp, примите пул приложений по умолчанию (DefaultAppPool) и установите для параметра Физический путь значение C:\Publish.
Выбрав сайт в диспетчере служб IIS, нажмите Изменить разрешения и убедитесь, что IUSR, IIS_IUSRS или пользователь, настроенный для пула приложений, является полномочным пользователем с правами на чтение и выполнение. Если ни одного из этих пользователей не указано, добавьте учетную запись IUSR в качестве пользователя с правами на чтение и выполнение.
Публикация и развертывание приложения путем публикации в локальной папке из Visual Studio
Можно также опубликовать и развернуть приложение с помощью файловой системы или других средств.
Загрузка и установка инструментов удаленной отладки в Windows Server
Загрузите версию удаленных инструментов, которая соответствует вашей версии Visual Studio.
Настройка удаленного отладчика в Windows Server
[!NOTE] Если вам нужно добавить разрешения для дополнительных пользователей, изменить режим проверки подлинности или настроить номер порта для удаленного отладчика, воспользуйтесь инструкциями по настройке удаленного отладчика.
Сведения о запуске удаленного отладчика в качестве службы см. в разделе Запуск удаленного отладчика в качестве службы.
На компьютере Visual Studio откройте решение, которое вы пытаетесь отладить (в этой статье мы используем MyASPApp).
В Visual Studio выберите пункт Отладка > Присоединить к процессу (CTRL+ALT+P).
[!TIP] В Visual Studio 2017 и более поздних версиях можно повторно присоединиться к тому же процессу, выбрав Отладка > Присоединиться к процессу повторно. (SHIFT + ALT + P).
В поле "Квалификатор" задайте значение и нажмите клавишу ВВОД.
Убедитесь, что Visual Studio добавляет требуемый порт в имя компьютера, которое отображается в формате :порт.
. moniker range=">=vs-2022" В Visual Studio 2022 должно отображаться :4026. . moniker-end . moniker range="vs-2019" В Visual Studio 2019 должно отображаться :4024. . moniker-end . moniker range="vs-2017" В Visual Studio 2017 должно отображаться :4022. . moniker-end Указывать порт обязательно. Если номер порта не отображается, добавьте его вручную.
Если вы не видите никаких процессов, попробуйте использовать IP-адрес вместо имени удаленного компьютера (указывать порт обязательно). Для получения IPv4-адреса можно использовать ipconfig в командной строке.
Установите флажок Показать процессы, запущенные всеми пользователями.
При наличии нескольких процессов, отображающих w3wp.exe, проверьте столбец Имя пользователя. В некоторых сценариях в столбце Имя пользователя отображается имя пула приложений, например IIS APPPOOL\DefaultAppPool. Если вы видите пул приложений, можно легко определить правильный процесс, создав новый именованный пул приложений для отлаживаемого экземпляра приложения, после чего его можно будет найти в столбце Имя пользователя.
. moniker range=">=vs-2019" . moniker-end . moniker range="vs-2017" . moniker-end
В Visual Studio должна быть достигнута точка останова.
Устранение неполадок при развертывании IIS
Откройте необходимые порты на сервере Windows Server
[!NOTE] На виртуальной машине Azure порты необходимо открывать через группы безопасности сети.
- 80 — требуется для IIS . moniker range=">=vs-2022"
- 4026 — требуется для удаленной отладки из Visual Studio 2022 (дополнительные сведения см. в разделе Назначения портов удаленного отладчика). . moniker-end . moniker range=">=vs-2019"
- 4024 — требуется для удаленной отладки из Visual Studio 2019 (дополнительные сведения см. в разделе Назначения портов удаленного отладчика). . moniker-end . moniker range="vs-2017"
- 4022 — требуется для удаленной отладки из Visual Studio 2017 (дополнительные сведения см. в разделе Назначения портов удаленного отладчика). . moniker-end
- UDP 3702 — (необязательно) порт обнаружения позволяет использовать кнопку Найти при подключении к удаленному отладчику в Visual Studio.
Чтобы открыть порт в Windows Server, в меню Пуск найдите пункт Брандмауэр Windows в режиме повышенной безопасности.
Затем выберите Правила для входящего трафика > Создать правило > Порт. Нажмите Далее и в разделе Определенные локальные порты введите номер порта, нажмите Далее, Разрешить подключение, нажмите кнопку "Далее" и добавьте имя (IIS, Веб-развертывание или msvsmon) для правила входящего трафика.
Информацию о настройке брандмауэра Windows см. в разделе Настройка брандмауэра Windows для удаленной отладки.
Читайте также: