Удаленная отладка ASP.NET Core в службах IIS с использованием Azure в Visual Studio

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

В сценариях IIS Linux не поддерживается.

Чтобы выполнить отладку IIS на виртуальной машине Azure, выполните действия, описанные в этой статье. Этот метод позволяет использовать настроенную конфигурацию IIS, но шаги по установке и развертыванию более сложны. Если ваш сценарий не требует настройки служб IIS, вместо этого метода можно выбрать более простые способы с размещением и отладкой приложения в Службе приложений Azure.

Для виртуальной машины Azure необходимо развернуть приложение из Visual Studio в Azure, а также вручную установить роль IIS и удаленный отладчик, как показано на следующем рисунке.

Diagram showing the relationship between Visual Studio, an Azure VM, and an ASP.NET app. IIS and the Remote Debugger are represented with solid lines.

Предупреждение

Не забудьте удалить созданные ресурсы Azure после выполнения действий, описанных в этом учебнике. Таким образом можно избежать ненужных расходов.

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

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

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

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

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

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

Приложение уже выполняется в службах IIS на виртуальной машине Azure?

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

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

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

    • Для начала выполните все действия, описанные в разделе Создание виртуальной машины Windows, где описаны шаги по установке веб-сервера IIS.

    • Убедитесь, что вы открыли порт 80 в группе безопасности сети Azure. Убедившись, что порт 80 открыт, также откройте правильный порт для удаленного отладчика (4026, 4024 или 4022). Таким образом, вам не нужно открывать его позже. Если вы используете веб-развертывание, также необходимо открыть порт 8172.

Создание приложения 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 .

Обновление параметров безопасности браузера в 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.

    Для .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.

Примечание.

В этом методе используется компонент веб-развертывания, который должен быть установлен на сервере. Если вы хотите настроить веб-развертывание вручную вместо импорта параметров, можно установить веб-развертывание 3.6 вместо веб-развертывания 3.6 для серверов размещения. Однако если вы настраиваете веб-развертывание вручную, то необходимо убедиться, что папка приложения на сервере настроена с правильными значениями и разрешениями (см. Настройка веб-сайта 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, нажмите кнопку Далее и выполните установку роли.

    Install IIS Management Scripts and Tools

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

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

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

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

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

    Screenshot showing Web Deploy 4.0 components

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

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

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

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

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

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

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

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

    Configure Web Deploy configuration

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

  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. Выберите вариант для импорта профиля.

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

    Choose Publish

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

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

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

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

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

    Edit settings in the Publish tool

Примечание.

При перезапуске виртуальной машины Azure IP-адрес может измениться.

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

  • Если приложение не начинается с Visual Studio, запустите приложение в 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. Откройте Диспетчер служб IIS и перейдите к разделу Сайты.

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

  3. В поле Псевдоним задайте значение MyASPApp, а в поле "Пул приложений" — значение Без управляемого кода. Задайте физический путь к C:\Publish (где позже развернете проект ASP.NET Core).

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

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

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

Если вы не используете веб-развертывание, необходимо опубликовать и развернуть приложение с помощью файловой системы или других средств. Можно начать с создания пакета с помощью файловой системы, а затем либо развернуть пакет вручную, либо использовать другие средства, такие как PowerShell, Robocopy или XCopy. В этом разделе предполагается, что вы копируете пакет вручную, если вы не используете веб-развертывание.

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

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

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

    Screenshot of the Pick a publish target dialog in Visual Studio with the Folder `C:\Publish' selected as the publish target.

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

    Screenshot of the Pick a publish target dialog in Visual Studio with the Folder `C:\Publish' selected as the publish target.

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

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

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

    Screenshot of the Settings tab in the Publish dialog box. Configuration is set to Debug and the Publish button is selected.

    Примечание.

    Если вы используете сборку выпуска, отладку можно отключить при публикации в файле 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" мастера.

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

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

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

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

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

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

    Screenshot of remote debugger window

    Screenshot of remote debugger window

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

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

<Remote debugger installation directory>\msvsmon.exe

Примечание.

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

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

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

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

    Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    RemoteDBG_AttachToProcess

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

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

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

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

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

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

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

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

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

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

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

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

  • 80 — требуется для IIS
  • UDP 3702 — (необязательно) порт обнаружения позволяет использовать кнопку Найти при подключении к удаленному отладчику в Visual Studio.

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

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