Удаленная отладка ASP.NET Core на удаленном компьютере IIS в Visual Studio

Чтобы выполнить отладку приложения ASP.NET Core, развернутого в службах IIS, установите и запустите средства удаленной отладки на компьютере, где развернуто приложение, а затем подключитесь к выполняющемуся приложению из Visual Studio.

Компоненты удаленного отладчика

В этом руководстве вы узнаете, как установить и настроить ASP.NET Core в Visual Studio, развернуть его в службах IIS и присоединить удаленный отладчик из Visual Studio. Сведения об удаленной отладке ASP.NET 4.8 см. в статье Удаленная отладка ASP.NET на компьютере со службами IIS. Также можно выполнить развертывание и отладку служб IIS с помощью Azure. Сведения о работе со Службой приложений Azure см. в модуле обучения, посвященном удаленной отладке ASP.NET Core в Azure, а при работе с Visual Studio Enterprise используйте Snapshot Debugger (требуется .NET 4.6.1).

Необходимые компоненты

Для версии Visual Studio 2019 и выше требуется выполнить действия, описанные в этой статье.

Эти процедуры были протестированы в следующих конфигурациях сервера.

  • Windows Server 2022 и IIS 10
  • Windows Server 2019 и IIS 10
  • Windows Server 2016 и IIS 10

Требования к сети

Отладка между двумя компьютерами, подключенными через прокси-сервер, не поддерживается. Отладка по поводу высокой задержки или подключения с низкой пропускной способностью, например через Интернет или через Интернет в разных странах или регионах, не рекомендуется и может оказаться неприемлемым или неприемлемым. Полный список требований см. в разделе Требования.

Приложение уже запущено в службах IIS?

Эта статья содержит инструкции по настройке базовой конфигурации IIS в Windows Server и развертыванию приложения из Visual Studio. Эти действия включены, чтобы убедиться, что сервер имеет необходимые компоненты, которые приложение может запустить правильно, и что вы готовы к удаленной отладке.

  • Если приложение выполняется в службах IIS и требуется загрузить удаленный отладчик и начать отладку, перейдите на страницу Загрузка и установка средств удаленной отладки на Windows Server.

  • Если вам нужна помощь, чтобы убедиться, что приложение настроено, развернуто и работает правильно в IIS, чтобы можно было выполнить отладку, выполните все действия, описанные в этой статье.

Создание приложения ASP.NET Core на компьютере с Visual Studio

  1. Создайте новое веб-приложение ASP.NET Core.

    В Visual Studio выберите Файл>Окно запуска, чтобы открыть окно запуска, а затем выберите Создать проект. В поле поиска введите веб-приложение, укажите C# в качестве языка, выберите Веб-приложение ASP.NET Core (модель-представление-контроллер) и щелкните Далее. На следующем экране присвойте проекту имя MyASPApp и нажмите кнопку Далее.

    Выберите рекомендуемую целевую платформу или .NET 8, а затем нажмите кнопку "Создать". Версия должна соответствовать версии, установленной на сервере.

  2. Откройте файл HomeController.cs в папке Controllers и задайте точку останова в return View; инструкции в методеPrivacy.

    В старых шаблонах откройте файл Privacy.cshtml.cs и задайте точку останова в методе OnGet .

Установка и настройка IIS на Windows Server

В этих шагах используется только базовая конфигурация IIS. См. подробные сведения или инструкции по установке на настольный компьютер Windows в руководствах по публикации в IIS и использовании IIS 8.0 с ASP.NET 3.5 и ASP.NET 4.5.

В ОС Windows Server используйте мастер добавления ролей и компонентов, который можно вызвать по ссылке Управление или в Панель мониторинга в диспетчере сервера. На этапе Роли сервера установите флажок Веб-сервер (IIS).

Снимок экрана: роль IIS веб-сервера, выбранная на этапе выбора ролей сервера.

(Windows Server 2022) В появившемся диалоговом окне выберите Добавить компоненты, чтобы добавить консоль управления IIS.

На этапе Службы роли выберите нужные службы роли IIS или оставьте службы по умолчанию. Если вы хотите включить развертывание с помощью параметров публикации и веб-развертывания, убедитесь, что выбраны следующие компоненты:

  • Скрипты и средства управления IIS
  • Служба Служба Management Service
  • Консоль управления IIS

Снимок экрана: выбранные сценарии и инструменты управления IIS.

Пройдите этап подтверждения, чтобы установить роль и службы веб-сервера. После установки роли "Веб-сервер (IIS)" перезагружать сервер или перезапускать службы IIS не требуется.

Обновление параметров безопасности браузера в Windows Server

Если вы используете старую версию Windows Server, может потребоваться добавить некоторые домены в качестве доверенных сайтов, чтобы вы могли скачать некоторые компоненты веб-сервера. Добавьте доверенные сайты в разделе Свойства обозревателя > Безопасность > Надежные сайты > Сайты. Добавьте следующие домены.

  • microsoft.com
  • go.microsoft.com
  • download.microsoft.com
  • iis.net

При скачивании программного обеспечения вы можете получить запросы на предоставление разрешения на загрузку различных скриптов и ресурсов веб-сайта. Некоторые из этих ресурсов не требуются, но для упрощения процесса нажмите кнопку "Добавить " при появлении запроса.

Установка ASP.NET Core на Windows Server

  1. Установите пакет размещения .NET Core в размещающей системе. В составе пакета устанавливаются среда выполнения .NET Core, библиотека .NET Core и модуль ASP.NET Core. Более подробные инструкции см. в статье Публикация в IIS.

    Для текущего пакета размещения .NET Core установите пакет размещения ASP.NET Core.

    Примечание.

    Если вы ранее установили IIS, модуль IIS ASP.NET Core устанавливается с ASP.NET Core. В противном случае установите модуль IIS ASP.NET Core вручную.

    Для .NET Core 2 установите пакет размещения .NET Core для Windows Server.

    Примечание.

    Если система не подключена к Интернету, перед установкой пакета размещения .NET Core для Windows Server получите и установите Распространяемый компонент Microsoft Visual C++ 2015.

  2. Перезапустите систему (или выполните в командной строке команду net stop was /y, а затем команду net start w3svc, чтобы изменение системной переменной PATH вступило в силу).

Выбор варианта развертывания

Если вам нужна помощь в развертывании приложения в службах IIS, рассмотрите следующие варианты.

  • Выполните развертывание, создав файл параметров публикации в IIS и импортировав параметры в Visual Studio. В некоторых сценариях этот способ позволяет быстро развертывать приложения. При создании файла параметров публикации разрешения автоматически настраиваются в службах IIS.

  • Выполните развертывание путем публикации в локальной папке и копирования выходных данных предпочтительным методом в подготовленную папку приложения в службах IIS.

(Дополнительно) Выполните развертывание с помощью файла параметров публикации

С помощью этого параметра можно создать файл параметров публикации и импортировать его в Visual Studio.

Примечание.

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

Настройка веб-сайта ASP.NET Core

  1. В левой области диспетчера IIS в разделе Подключения выберите Пулы приложений. Откройте DefaultAppPool и выберите для параметра Версия CLR .NET значение Без управляемого кода. Для ASP.NET Core это обязательно. Веб-сайт по умолчанию использует DefaultAppPool.

  2. Остановите и снова запустите DefaultAppPool.

Установка и настройка веб-развертывания в Windows Server

Веб-развертывание обеспечивает дополнительные возможности конфигурации, позволяющие создавать файл параметров публикации из пользовательского интерфейса.

Примечание.

1 июля 2022 г. завершился жизненный цикл установщика веб-платформы. Дополнительные сведения см. в разделе Установщик веб-платформы — прекращение поддержки и прекращение использования веб-канала продуктов/приложений. Вы можете напрямую установить веб-развертывание 4.0, чтобы создать файл параметров публикации.

  1. Если вы еще не установили сценарии и средства управления IIS, сделайте это на данном этапе.

    Перейдите в раздел Выбор ролей сервера>Веб-сервер (IIS)>Средства управления, после чего выберите роль Сценарии и средства управления IIS, нажмите кнопку Далее и выполните установку роли.

    Установка сценариев и средств управления IIS

    Эти сценарии и средства необходимы для создания файла параметров публикации.

    Убедитесь, что также установлены Служба управления и Консоль управления IIS (возможно, они уже установлены).

  2. В Windows Server скачайте веб-развертывание 4.0.

  3. Запустите программу установки веб-развертывания и убедитесь, что выбрана полная, а не обычная установка.

    После полной установки вы получите компоненты, необходимые для создания файла параметров публикации. (Если вместо полной выбрать пользовательскую установку, вы увидите список компонентов, как на иллюстрации ниже.)

    Снимок экрана: компоненты веб-развертывания 4.0

  4. (Необязательный шаг.) Проверьте работоспособность веб-развертывания. Для этого выберите Панель управления > Система и безопасность > Администрирование > Службы и проверьте следующее:

    • служба агента веб-развертывания запущена (в прежних версиях название этой службы отличалось);

    • служба веб-управления запущена.

    Если какая-то из этих служб агента не запущена, перезапустите службу агента веб-развертывания.

    Если служба агента веб-развертывания отсутствует, выберите Панель управления > Программы > Удаление программы и найдите средство Microsoft Web Deploy <версия>. Нажмите Изменить и выберите параметр Будет установлен на локальный жесткий диск для компонентов Web Deploy. Выполните оставшиеся шаги по установке.

Создание файла параметров публикации в IIS в Windows Server

  1. Закройте и снова откройте консоль управления IIS, чтобы отобразить обновленные параметры конфигурации в пользовательском интерфейсе.

  2. В службах IIS щелкните правой кнопкой мыши элемент Веб-сайт по умолчанию и выберите Развернуть>Включить публикацию веб-развертывания.

    Настройка конфигурации веб-развертывания

    Если меню Развернуть не отображается, ознакомьтесь с предыдущим разделом, чтобы проверить, выполняется ли веб-развертывание.

  3. Просмотрите параметры в диалоговом окне Включить публикацию веб-развертывания.

  4. Щелкните Настройка.

    Выходные данные в панели Результаты показывают, что права доступа предоставлены конкретному пользователю, а в указанном в диалоговом окне месте был создан файл с расширением .publishsettings.

    <?xml version="1.0" encoding="utf-8"?>
    <publishData>
      <publishProfile
        publishUrl="https://myhostname:8172/msdeploy.axd"
        msdeploySite="Default Web Site"
        destinationAppUrl="http://myhostname:80/"
        mySQLDBConnectionString=""
        SQLServerDBConnectionString=""
        profileName="Default Settings"
        publishMethod="MSDeploy"
        userName="myhostname\myusername" />
    </publishData>
    

    В зависимости от конфигурации Windows Server и служб IIS в XML-файле будут представлены разные значения. Ниже описываются некоторые значения, которые могут вам встретиться.

    • Файл msdeploy.axd, на который ссылается атрибут publishUrl, представляет собой динамически создаваемый файл обработчика HTTP для веб-развертывания. (В целях тестирования, как правило, можно использовать http://myhostname:8172.)

    • Порту publishUrl присваивается значение 8172, которое по умолчанию используется для веб-развертывания.

    • Порту destinationAppUrl присваивается значение 80, которое по умолчанию используется для служб IIS.

    • Если на следующих этапах вам не удается подключиться к удаленному узлу из Visual Studio с использованием имени узла, попробуйте использовать вместо имени узла IP-адрес сервера.

      Примечание.

      Если вы выполняете публикацию в службах IIS, работающих на виртуальной машине Azure, необходимо открыть входящий порт для веб-развертывания и служб IIS в группе безопасности сети. Подробные сведения см. в статье Открытие портов для виртуальной машины.

  5. Скопируйте этот файл на компьютер, на котором выполняется среда Visual Studio.

Импорт параметров публикации в Visual Studio и развертывание

  1. На компьютере, где открыт проект ASP.NET в Visual Studio, щелкните правой кнопкой мыши этот проект в обозревателе решений и выберите Опубликовать.

    Если ранее вы настроили какие-либо профили публикации, появится панель Опубликовать. Щелкните Создать или Создать профиль.

  2. Выберите вариант для импорта профиля.

    В открывшемся диалоговом окне Публикация выберите Импортировать профиль.

    Выбор команды

  3. Перейдите в расположение файла параметров публикации, созданного в предыдущем разделе.

  4. В диалоговом окне Импортировать файл параметров публикации перейдите к профилю, созданному в предыдущем разделе, выберите его и нажмите кнопку Открыть.

    Щелкните Готово, чтобы сохранить профиль публикации, а затем щелкните Опубликовать.

    Visual Studio начинает процесс развертывания, а в окне вывода отображаются ход выполнения и результаты.

    При возникновении ошибок развертывания щелкните Дополнительные действия>Изменить для изменения настроек. Измените параметры и нажмите кнопку Проверить для тестирования новых параметров. Если имя узла не найдено, попробуйте указать IP-адрес вместо имени узла в полях Сервер и Конечный URL-адрес.

    Изменение параметров в средстве публикации

После успешного развертывания приложение должно запускаться автоматически.

  • Если приложение не запускается после развертывания, запустите приложение в IIS, чтобы убедиться, что оно работает правильно.
  • Для ASP.NET Core убедитесь, что в поле пула приложений для DefaultAppPool задано значение No Managed Code.

Когда вы будете готовы, переключитесь в конфигурацию отладки.

Внимание

Если вы решили выполнить отладку конфигурации выпуска, при публикации отключите отладку в файле web.config .

  1. Выберите "Дополнительные параметры>", чтобы изменить профиль, а затем выберите Параметры.
  2. Нажмите кнопку "Сохранить ", а затем повторно опубликуйте приложение.
  3. Выберите конфигурацию отладки и нажмите кнопку "Удалить дополнительные файлы в месте назначения" в разделе "Параметры публикации файлов".
  1. Выберите "Изменить", чтобы изменить профиль, а затем выберите Параметры.
  2. Нажмите кнопку "Сохранить ", а затем повторно опубликуйте приложение.
  3. Выберите конфигурацию отладки и нажмите кнопку "Удалить дополнительные файлы в месте назначения" в разделе "Параметры публикации файлов".

(Дополнительно) Развертывание путем публикации в локальной папке

Этот параметр можно использовать для развертывания приложения, если требуется скопировать приложение в IIS с помощью PowerShell или RoboCopy или скопировать файлы вручную.

Настройка веб-сайта ASP.NET Core на компьютере Windows Server

  1. Откройте Windows Обозреватель и создайте новую папку C:\Publish, чтобы развернуть проект ASP.NET Core.

  2. Откройте узел Диспетчер служб IIS, если он еще не открыт. (В левой области диспетчер сервера выберите IIS. Щелкните сервер правой кнопкой мыши и выберите Диспетчер служб IIS.)

  3. В разделе Подключения в левой области перейдите к пункту Сайты.

  4. Нажмите Веб-сайт по умолчанию, выберите Основные параметры и задайте для параметра Физический путь значение C:\Publish.

  5. Щелкните правой кнопкой мыши узел Веб-сайт по умолчанию и выберите команду Добавить приложение.

  6. Задайте для поля Псевдоним значение MyASPApp, примите пул приложений по умолчанию (DefaultAppPool) и установите для параметра Физический путь значение C:\Publish.

  7. В разделе Подключения выберите Пулы приложений. Откройте DefaultAppPool и задайте для поля "Пул приложений" значение Без управляемого кода.

  8. Щелкните правой кнопкой мыши новый сайт в диспетчере служб IIS, нажмите Изменить разрешения и убедитесь, что IUSR, IIS_IUSRS или пользователь, настроенный для доступа к веб-приложению, является полномочным пользователем с правами на чтение и выполнение.

    Если вы не видите пользователей с доступом, выполните действия, чтобы добавить учетную запись IUSR в качестве пользователя с правами на чтение и выполнение.

Публикация и развертывание приложения путем публикации в локальной папке из Visual Studio

Можно также опубликовать и развернуть приложение с помощью файловой системы или других средств.

  1. В обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите пункт Опубликовать (или Опубликовать веб-приложение для ASP.NET Web Forms).

    Если ранее вы настроили какие-либо профили публикации, появится панель Опубликовать. Щелкните Новый профиль.

  2. В диалоговом окне Публикация выберите элемент Папка, щелкните элемент Обзор и создайте новую папку C:\Publish.

    Снимок экрана: диалоговое окно

    Щелкните Готово, чтобы сохранить профиль публикации.

    Снимок экрана: диалоговое окно

    Щелкните Готово, чтобы сохранить профиль публикации.

  3. Переключитесь на конфигурацию отладки.

    Выберите Изменить, чтобы изменить профиль,а затем — Параметры. Выберите конфигурацию Отладка, а затем выберите Удалить дополнительные файлы в пункте назначения в параметрах Публикация файла.

    Снимок экрана: вкладка

    Примечание.

    Если вы используете сборку выпуска, отладку можно отключить при публикации в файле web.config.

  4. Нажмите кнопку Опубликовать.

    Приложение публикует конфигурации отладки для проекта в локальной папке. Сведения о ходе выполнения отображаются в окне вывода.

  5. Скопируйте каталог проекта ASP.NET с компьютера, где установлен набор средств Visual Studio, в локальный каталог на компьютере Windows Server, который вы настроили для приложения ASP.NET (в нашем примере это C:\Publish). В этом руководстве предполагается, что вы копируете файлы вручную. Но вы можете использовать и другие средства, например PowerShell, XCOPY или Robocopy.

    Внимание

    Если вам потребуется внести изменения в код или повторно скомпилировать его, повторите публикацию и описанный выше процесс. Исполняемый файл, скопированный на удаленный компьютер, должен в точности совпадать с локальным исходным кодом и символами. Если этого не сделать, вы получите предупреждение cannot find or open the PDB file в Visual Studio при попытке отладки процесса.

  6. На компьютере Windows Server убедитесь, что приложение успешно запускается, открыв его в браузере.

    Ошибки в работе приложения могут быть связаны с несоответствием версий ASP.NET, установленных на сервере и на компьютере Visual Studio, либо с неверной конфигурацией IIS или веб-сайта. Проверьте все выполненные выше шаги.

Скачивание и установка средств удаленного доступа на Windows Server

Загрузите версию удаленных инструментов, которая соответствует вашей версии Visual Studio.

На удаленном устройстве или сервере, на котором требуется выполнить отладку (не на компьютере Visual Studio), скачайте и установите правильную версию инструментов удаленной отладки по ссылкам, приведенным в следующей таблице.

  • Скачайте последнее обновление средств удаленного доступа для вашей версии Visual Studio. Более ранние версии удаленных средств несовместимы с более поздними версиями Visual Studio. (Если вы используете, к примеру, Visual Studio 2019, скачайте последнее обновление инструментов удаленной отладки для Visual Studio 2019. В этом случае не следует скачивать инструменты удаленной отладки для Visual Studio 2022.)
  • Скачивайте средства удаленной отладки с архитектурой, соответствующей архитектуре компьютера, на котором они будут устанавливаться. Например, если вы хотите отлаживать приложения x86 на удаленном компьютере под управлением операционной системы x64, установите средства удаленного управления x64. Чтобы выполнить отладку приложений x86, ARM или x64 в операционной системе ARM64, установите удаленные средства ARM64.
Версия Установить связь Примечания.
Visual Studio 2022 год Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2022. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). В более ранних версиях Windows Server см. раздел "Разблокировать скачивание файла", чтобы скачать удаленные средства.
Visual Studio 2019 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2019. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). В более ранних версиях Windows Server см. раздел "Разблокировать скачивание файла", чтобы скачать удаленные средства.
Visual Studio 2017 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2017. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2015 Инструменты удаленной отладки Инструменты удаленной отладки для Visual Studio 2015 доступны по адресу My.VisualStudio.com. При запросе присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите со своим идентификатором подписки Visual Studio. Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2013 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2013
Visual Studio 2012 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2012
Версия Установить связь Примечания.
Visual Studio 2019 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2019. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. Последнюю версию инструментов удаленной отладки можно узнать в документации по Visual Studio 2022.
Visual Studio 2017 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2017. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2015 Инструменты удаленной отладки Инструменты удаленной отладки для Visual Studio 2015 доступны по адресу My.VisualStudio.com. При запросе присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите со своим идентификатором подписки Visual Studio. Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2013 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2013
Visual Studio 2012 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2012

Чтобы запустить удаленный отладчик, можно не устанавливать инструменты удаленной отладки, а просто скопировать файл msvsmon.exe на удаленный компьютер. Однако мастер настройки удаленного отладчика (rdbgwiz.exe) доступен только после установки инструментов удаленной отладки. Этот мастер может потребоваться для настройки, если вы захотите запускать удаленный отладчик как службу. Дополнительные сведения см. в разделе (Дополнительно) Настройка удаленного отладчика как службы.

Примечание.

  • Для отладки приложений для Windows 10 и более поздних версий на устройствах ARM используйте ARM64 (доступно с последней версией инструментов удаленной отладки).
  • Для отладки приложений Windows 10 на устройствах Windows RT используйте ARM, доступный только при загрузке инструментов удаленной отладки Visual Studio 2015.
  • Чтобы выполнить отладку приложений x64 в операционной системе ARM64, запустите msvsmon.exe x64, установленных с помощью удаленных средств ARM64.

Настройка удаленного отладчика на Windows Server

  1. На удаленном компьютере найдите Удаленный отладчик в меню Пуск и запустите его.

    Если у вас нет прав администратора на удаленном компьютере, щелкните правой кнопкой мыши приложение Удаленный отладчик и выберите Запуск от имени администратора. В противном случае просто запустите его, как обычно.

    Если вы планируете присоединиться к процессу, который работает от имени администратора или под другой учетной записью пользователя (например, IIS), щелкните правой кнопкой мыши приложение Удаленный отладчик и выберите пункт Запуск от имени администратора. Дополнительные сведения см. в разделе Запуск удаленного отладчика в качестве администратора.

  2. При первом запуске удаленного отладчика (или перед настройкой) откроется мастер настройки удаленной отладки.

    В большинстве сценариев нажмите кнопку "Далее ", пока не получите страницу "Настройка брандмауэра Windows" мастера.

    Снимок экрана: конфигурация удаленного отладчика.

    Снимок экрана: конфигурация удаленного отладчика.

    Если API-интерфейс веб-служб Windows не установлен (это возможно только в Windows Server 2008 R2), нажмите кнопку Установить.

  3. Выберите хотя бы один тип сетей, для которых вы намерены использовать инструменты удаленной отладки. Если компьютеры соединены через домен, необходимо выбрать первый пункт. Если компьютеры соединены через рабочую или домашнюю группу, выберите второй или третий пункт соответственно.

    Затем нажмите кнопку "Готово ", чтобы запустить удаленный отладчик.

    Затем выберите "Настроить удаленную отладку" , чтобы запустить удаленный отладчик.

  4. По завершении настройки появится окно Удаленный отладчик.

    Снимок экрана: окно удаленного отладчика

    Снимок экрана: окно удаленного отладчика

    Теперь удаленный отладчик ожидает подключения. Введите предложенные имя сервера и номер порта, чтобы настроить конфигурацию удаленного подключения в Visual Studio.

Чтобы прекратить работу удаленного отладчика, щелкните Файл>Выход. Его можно снова запустить из меню Пуск или из командной строки:

<Remote debugger installation directory>\msvsmon.exe

Примечание.

Если вам нужно добавить разрешения для дополнительных пользователей, изменить режим проверки подлинности или настроить номер порта для удаленного отладчика, воспользуйтесь инструкциями по настройке удаленного отладчика.

Сведения о запуске удаленного отладчика в качестве службы см. в разделе Запуск удаленного отладчика в качестве службы.

Присоединение к приложению ASP.NET Core с компьютера Visual Studio

Начиная с Visual Studio 2022 версии 17.10 Preview 2 диалоговое окно "Присоединение к процессу" изменилось. Если вам нужны инструкции, соответствующие более старым диалоговым окнам, перейдите в представление Visual Studio 2019 (селектор версий в верхней левой части статьи).

  1. На компьютере Visual Studio откройте решение, которое вы пытаетесь выполнить отладку (MyASPApp , если вы выполняете все действия, описанные в этой статье).

  2. В Visual Studio выберите "Подключить отладку > к процессу " (CTRL+ALT+P).

    Совет

    В Visual Studio 2017 и более поздних версиях можно повторно присоединиться к тому же процессу, выбрав Отладка > Присоединиться к процессу повторно... (SHIFT+ALT+P).

  3. Задайте для типаПодключение ion значение Remote (Windows).

    Появится параметр целевого объекта Подключение ion.

    Задайте для целевого объекта<Подключение ion имя> удаленного компьютера и нажмите клавишу ВВОД.

    Убедитесь, что Visual Studio добавляет требуемый порт в имя компьютера, которое отображается в формате: <имя удаленного компьютера>:порт

    В Visual Studio 2022 будет отображаться <имя удаленного компьютера>:4026

    Указывать порт обязательно. Если номер порта не отображается, добавьте его вручную.

  1. На компьютере Visual Studio откройте решение, которое вы пытаетесь выполнить отладку (MyASPApp , если вы выполняете все действия, описанные в этой статье).

  2. В Visual Studio выберите "Подключить отладку > к процессу " (CTRL+ALT+P).

    Совет

    В Visual Studio 2017 и более поздних версиях можно повторно присоединиться к тому же процессу, выбрав Отладка > Присоединиться к процессу повторно... (SHIFT+ALT+P).

  3. В поле "Квалификатор" задайте значение <имя удаленного компьютера> и нажмите клавишу ВВОД.

    Убедитесь, что Visual Studio добавляет требуемый порт в имя компьютера, которое отображается в формате: <имя удаленного компьютера>:порт

    В Visual Studio 2019 будет отображаться <имя удаленного компьютера>:4024

    Указывать порт обязательно. Если номер порта не отображается, добавьте его вручную.

  1. Выбрать обновить.

    В окне Доступные процессы должен появиться ряд процессов.

    Если вы не видите никаких процессов, попробуйте использовать IP-адрес вместо имени удаленного компьютера (указывать порт обязательно). Для получения IPv4-адреса можно использовать ipconfig в командной строке.

    Если вы хотите использовать кнопку "Найти", может потребоваться открыть исходящий порт UDP 3702 на сервере.

  2. Установите флажок Показать процессы, запущенные всеми пользователями.

  3. Введите первую букву имени процесса, чтобы быстро найти приложение.

    • Если в службах IIS используется модель внутрипроцессного размещения, выберите нужный процесс w3wp.exe. Начиная с .NET Core 3, этот процесс используется по умолчанию.

    • В противном случае выберите процесс dotnet.exe. (Это модель размещения вне процесса.)

    При наличии нескольких процессов, отображающих w3wp.exe или dotnet.exe, проверьте столбец Имя пользователя. В некоторых сценариях в столбце Имя пользователя отображается имя пула приложений, например IIS APPPOOL\DefaultAppPool. Если вы видите пул приложений, но он не уникален, создайте новый именованный пул приложений для отлаживаемого экземпляра приложения, после чего его можно будет найти в столбце Имя пользователя.

    Снимок экрана: диалоговое окно

    Снимок экрана: диалоговое окно

  4. Выберите Вложить.

  5. Откройте веб-сайт удаленного компьютера. В браузере перейдите по адресу http://<имя удаленного компьютера>.

    Должна открыться веб-страница ASP.NET.

  6. В работающем приложении ASP.NET выберите ссылку на страницу конфиденциальности .

    В Visual Studio должна быть достигнута точка останова.

    Если вы не можете подключить или попасть в точку останова, см. статью "Устранение неполадок с удаленной отладкой".

Устранение неполадок при развертывании IIS

  • Если не удается подключиться к узлу с помощью имени узла, попробуйте использовать IP-адрес.
  • Убедитесь, что на удаленных серверах открыты необходимые порты.
  • Для ASP.NET Core необходимо убедиться, что в поле "Пул приложений" для DefaultAppPool задано значение Без управляемого кода.
  • Убедитесь, что версия ASP.NET, используемая в приложении, совпадает с версией, установленной на сервере. Просмотреть и задать версию в приложении можно на странице Свойства. Чтобы задать другую версию приложения, необходимо установить эту версию.
  • Если приложение не удалось открыть из-за предупреждения о сертификате, выберите параметр "Доверять сайту". Если вы уже закрыли предупреждение, вы можете изменить профиль публикации в файле *.pubxml в проекте и добавить следующий элемент (только для теста): <AllowUntrustedCertificate>true</AllowUntrustedCertificate>.
  • После развертывания запустите приложение в IIS, чтобы проверить правильное развертывание приложения.
  • Проверьте сведения о состоянии в окне вывода в Visual Studio и просмотрите сообщения об ошибках.

Откройте необходимые порты на Windows Server

В большинстве установок необходимые порты открываются при установке ASP.NET и удаленного отладчика. Однако может потребоваться проверить, открыты ли порты.

Примечание.

На виртуальной машине Azure порты необходимо открывать через группы безопасности сети.

Требуемые порты:

  • 80. Требуется для IIS (HTTP).
  • 4026. Требуется для удаленной отладки из Visual Studio 2022 (дополнительные сведения см. в разделе "Назначения портов удаленного отладчика").
  • 4024: требуется для удаленной отладки из Visual Studio 2019 (дополнительные сведения см. в разделе "Назначения портов удаленного отладчика").
  • UDP 3702: (необязательно) порт обнаружения позволяет использовать кнопку "Найти " при подключении к удаленному отладчику в Visual Studio.

Кроме того, эти порты уже должны быть открыты при установке ASP.NET:

  • 8172: (необязательно) Требуется для веб-развертывания для развертывания приложения из Visual Studio

Открытие порта

  1. Чтобы открыть порт на Windows Server, откройте меню "Пуск ", найдите брандмауэр Защитника Windows или брандмауэр Windows с расширенной безопасностью.

    Для брандмауэра Защитника Windows выберите дополнительные параметры.

  2. Затем выберите "Новый порт правила > для входящих подключений>" и нажмите кнопку "Далее". (Для UDP 3702 вместо этого выберите Правила для исходящего трафика.)

  3. В разделе "Определенные локальные порты" введите номер порта, нажмите кнопку "Далее".

  4. Нажмите кнопку "Разрешить Подключение", нажмите кнопку "Далее".

  5. Выберите один или несколько типов сети, чтобы включить порт и нажмите кнопку "Далее".

    Выбранные типы должны включать сеть, к которой подключен удаленный компьютер.

  6. Добавьте имя (например, IIS, веб-развертывание или msvsmon) для правила входящего трафика и нажмите кнопку "Готово".

    Новое правило должно появиться в списке "Правила для входящих подключений" или "Правила для исходящих подключений".

    Информацию о настройке брандмауэра Windows см. в разделе Настройка брандмауэра Windows для удаленной отладки.

  7. Создайте дополнительные правила для других необходимых портов.