Поделиться через


Удаленная отладка ASP.NET Core в IIS с помощью виртуальной машины Azure из Visual Studio

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

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

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

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

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

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

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

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

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

Необходимые условия

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

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

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

Приложение, уже работающее в IIS на виртуальной машине Azure?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Установите пакет размещения хостинга .NET Core на хостинговой системе. Пакет устанавливает .NET core Runtime, .NET Core Library и модуль 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 Hosting.

    Заметка

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

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

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

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

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

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

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

Этот параметр позволяет создать файл параметров публикации и импортировать его в Visual Studio.

Заметка

Этот метод развертывания использует Web Deploy, который должен быть установлен на сервере. Если вы хотите вручную настроить Web Deploy, вместо импорта настроек, можно установить Web Deploy 3.6 вместо Web Deploy 3.6 для Hosting Servers. Однако при настройке веб-развертывания вручную необходимо убедиться, что папка приложения на сервере настроена с правильными значениями и разрешениями (см. раздел Configure ASP.NET веб-сайт).

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

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

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

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

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

Заметка

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

  1. Если вы еще не установили скрипты управления IIS и средства, установите их сейчас.

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

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

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

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

  2. На Windows Server скачайте Web Deploy 4.0.

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

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

    скриншот, показывающий компоненты Web Deploy 4.0

  4. (Необязательно) Убедитесь, что веб-развертывание выполняется правильно, открыв Control Panel > System and Security > Windows Tools > Services и убедитесь, что:

    • работает служба агента веб-развертывания (имя службы отличается в более ранних версиях).

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

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

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

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

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

  2. В IIS щелкните правой кнопкой мыши умолчанию веб-сайт, выберите ДеплойНастроить публикацию через Web Deploy.

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

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

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

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

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

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

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

    • Файл msdeploy.axd, на который ссылается атрибут , является динамически созданным файлом обработчика HTTP для веб-развертывания. (В целях тестирования обычно хорошо работает.)

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

    • Для порта задан порт 80, который используется по умолчанию для IIS.

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

      Заметка

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

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

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

  1. На компьютере, где открыт ASP.NET project в Visual Studio, щелкните правой кнопкой мыши project в Solution Explorer и выберите Publish.

    Если вы ранее настроили профили публикации, откроется панель публикации . Нажмите Новый или Создать новый профиль.

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

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

    Выберите публикацию

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

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

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

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

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

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

Заметка

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

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

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

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

Важный

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

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

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

Использование учетных данных имени пользователя и пароля (обычная проверка подлинности) не является самым безопасным способом проверки подлинности. По возможности используйте альтернативные методы. Например, попробуйте опубликовать пакет из Visual Studio, а затем использовать WebDeploy.exe из командной строки для развертывания пакета. С помощью этого метода можно использовать диспетчер IIS для настройки авторизованных пользователей Windows, которые могут публиковаться на веб-сервере, и запускать WebDeploy.exe под учетной записью этого пользователя Windows. См. Установке и настройке Web Deploy в IIS 8.0 или более поздней версии. Если вы используете учетные данные паролей, обязательно используйте надежный пароль и защитите пароль от утечки или общего доступа.

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

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

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

При импорте параметров публикации можно пропустить этот раздел.

  1. Откройте диспетчера служб IIS и перейдите к сайтам.

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

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

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

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

Важный

Сведения о безопасности, связанные со встроенными учетными записями, см. в статье Общие сведения о Built-In учетных записях пользователей и групп в IIS 7.

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

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

  1. В Solution Explorer щелкните правой кнопкой мыши узел project и выберите Publish (для веб-форм, Publish Web App).

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

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

    Screenshot диалогового окна выбора целевого объекта публикации в Visual Studio с папкой

    Нажмите кнопку Завершить, чтобы сохранить профиль публикации.

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

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

    снимок экрана вкладки "Параметры" в диалоговом окне "Публикация". Конфигурация установлена на Debug и выбрана кнопка "Опубликовать".

    Заметка

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

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

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

  5. Скопируйте каталог ASP.NET project с Visual Studio компьютера в локальный каталог, настроенный для приложения ASP.NET (в этом примере C:\Publish) на компьютере Windows Server. В этом руководстве предполагается, что вы копируете вручную, но вы можете использовать другие инструменты, такие как 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 2022 и 2026 можно использовать с любой версией Visual Studio. Однако версии удаленных средств, предшествующие Visual Studio 2022, несовместимы с более поздними версиями Visual Studio. (Например, если вы используете Visual Studio 2019, скачайте последнее обновление средств удаленного доступа для Visual Studio 2019 года. В этом сценарии не скачивайте средства удаленного доступа для Visual Studio 2022.)
  • Скачайте последнее обновление средств удаленного доступа для вашей версии Visual Studio. Более ранние версии удаленных средств несовместимы с более поздними версиями Visual Studio. (Например, если вы используете Visual Studio 2019, скачайте последнее обновление средств удаленного доступа для Visual Studio 2019 года. В этом сценарии не скачивайте средства удаленного доступа для Visual Studio 2022.)
  • Скачайте удаленные средства с той же архитектурой, что и компьютер, на котором вы устанавливаете их. Например, если вы хотите отлаживать приложения x86 на удаленном компьютере под управлением операционной системы x64, установите средства удаленного управления x64. Чтобы выполнить отладку приложений x86, ARM или x64 в операционной системе ARM64, установите удаленные средства ARM64.
Версия Ссылка Примечания
Visual Studio 2026 г. удаленные инструменты Совместим с Visual Studio 2022 и более поздними версиями. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. В более старых версиях Windows Server см. Разблокировать скачивание файла для получения помощи в скачивании средств удаленного доступа.
Visual Studio 2022 удаленные инструменты Удаленные средства для Visual Studio 2022 доступны в My.VisualStudio.com. При появлении запроса присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите с помощью идентификатора подписки Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. В более старых версиях Windows Server см. Разблокировать скачивание файла для получения помощи в скачивании средств удаленного доступа.
Visual Studio 2019 г. удаленные инструменты Средства удаленного доступа для Visual Studio 2019 доступны в My.VisualStudio.com. При появлении запроса присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите с помощью идентификатора подписки Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. В более старых версиях Windows Server см. Разблокировать скачивание файла для получения помощи в скачивании средств удаленного доступа.
Visual Studio 2017 г. удаленные инструменты Средства удаленного доступа для Visual Studio 2017 доступны в My.VisualStudio.com. При появлении запроса присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите с помощью идентификатора подписки Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или 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 2022 удаленные инструменты Совместима со всеми версиями Visual Studio 2022. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. В более старых версиях Windows Server см. Разблокировать скачивание файла для получения помощи в скачивании средств удаленного доступа.
Visual Studio 2019 г. удаленные инструменты Средства удаленного доступа для Visual Studio 2019 доступны в My.VisualStudio.com. При появлении запроса присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите с помощью идентификатора подписки Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. В более старых версиях Windows Server см. Разблокировать скачивание файла для получения помощи в скачивании средств удаленного доступа.
Visual Studio 2017 г. удаленные инструменты Средства удаленного доступа для Visual Studio 2017 доступны в My.VisualStudio.com. При появлении запроса присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите с помощью идентификатора подписки Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или 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, запустите x64 msvsmon.exe, который установлен с ARM64 удаленными инструментами.

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

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

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

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

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

    В большинстве сценариев выберите "Настроить удаленную отладку".

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

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

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

  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 выберите Debug > Подключить к процессу (CTRL+ALT+P).

    Совет

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

  3. Установите тип подключения на Удаленный (Windows).

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

    Установите целевой объект подключения на имя удаленного компьютера и нажмите клавишу Enter .

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

    В Visual Studio 2022 вы увидите имя удалённого компьютера <remote>:4026

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

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

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

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

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

  2. Отметьте Показывать все процессы пользователей.

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

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

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

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

    снимок экрана: диалоговое окно "Присоединение к процессу".RemoteDBG_AttachToProcess

  4. Выберите Прикрепить.

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

    Вы увидите веб-страницу ASP.NET.

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

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

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

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

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

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

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

На виртуальной машине Azure необходимо открыть порты с помощью:

  • Группа безопасности сети.
  • Брандмауэр в Windows Server

Обязательные порты:

  • 80— требуется для IIS
  • UDP 3702 — (необязательно) Порт обнаружения позволяет использовать кнопку Find при подключении к удаленному отладчику в Visual Studio. Это должен быть исходящий порт (правило исходящего трафика).

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

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