Удаленная отладка ASP.NET Core в IIS с помощью виртуальной машины Azure из Visual Studio
В этом руководстве объясняется, как настроить и настроить приложение Visual Studio ASP.NET Core, развернуть его в IIS с помощью виртуальной машины Azure и подключить удаленный отладчик из Visual Studio.
В сценариях IIS Linux не поддерживается.
Чтобы выполнить отладку IIS на виртуальной машине Azure, выполните действия, описанные в этой статье. С помощью этого метода можно использовать настраиваемую конфигурацию IIS, но действия по настройке и развертыванию более сложны. Если вам не нужно настраивать службы IIS для вашего сценария, можно выбрать более простые методы для размещения и отладки приложения в Службе приложений Azure.
Для виртуальной машины Azure необходимо развернуть приложение из Visual Studio в Azure, а также вручную установить роль IIS и удаленный отладчик, как показано на следующем рисунке.
Предупреждение
Не забудьте удалить создаваемые ресурсы 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
Создайте веб-приложение ASP.NET Core.
В Visual Studio выберите "Файл">окно "Пуск", чтобы открыть окно "Пуск", а затем выберите Создать проект. В поле поиска введите веб-приложение, а затем выберите C# в качестве языка, а затем выберите ASP.NET Core Web Application (model-View-Controller), а затем нажмите кнопку Далее. На следующем экране назовите проект MyASPApp, а затем нажмите кнопку Далее.
Выберите рекомендуемый целевой фреймворк или .NET 8, а затем выберите Создать. Версия должна соответствовать версии, установленной на сервере.
Откройте файл 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
Установите пакет хостинга .NET Core на систему размещения. Пакет устанавливает среду выполнения .NET Core, библиотеку .NET Core и модуль ASP.NET Core. Для более подробных инструкций см. раздел Публикация на IIS.
Для текущего пакета хостинга .NET Core установите ASP.NET Core Hosting Bundle .
Заметка
Если вы ранее установили IIS, модуль IIS ASP.NET Core устанавливается с ASP.NET Core. В противном случае установите модуль IIS ASP.NET Core вручную.
Для .NET Core 2 установите .NET Core Windows Server Hosting.
Перезапустите систему (или выполните 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. Однако при настройке веб-развертывания вручную необходимо убедиться, что папка приложения на сервере настроена с правильными значениями и разрешениями (см. раздел Настройка ASP.NET веб-сайта).
Настройка веб-сайта ASP.NET Core
В диспетчере IIS в левой панели в разделе Подключениявыберите Пулы приложений. Откройте DefaultAppPool и установите значение версии .NET CLR на Без управляемого кода. Это необходимо для ASP.NET Core. Веб-сайт по умолчанию использует DefaultAppPool.
Остановите и перезапустите DefaultAppPool.
Установка и настройка веб-развертывания на Windows Server
Веб-развертывание предоставляет дополнительные функции конфигурации, позволяющие создавать файл параметров публикации из пользовательского интерфейса.
Заметка
Установщик веб-платформы достиг конца жизни 7.1.22. Дополнительные сведения см. в разделе Установщик веб-платформы — прекращение поддержки и постепенное выведение из эксплуатации фида продукта/приложения. Вы можете установить Web Deploy 4.0 напрямую, чтобы создать файл параметров публикации.
Если вы еще не установили скрипты управления IIS и средства, установите их сейчас.
Перейдите к Выберите роли сервера>веб-сервер (IIS)>средства управления, а затем выберите роль скриптов управления IIS и средств, нажмите кнопку Далее, а затем установите роль.
Скрипты и средства необходимы для создания файла настроек публикации.
Убедитесь, что вы также установите службу управления и консоль управления IIS (возможно, они уже установлены).
На Windows Server скачайте Web Deploy 4.0.
Запустите программу установки Web Deploy и убедитесь, что вы выбрали полную установку, а не типичную установку.
После полной установки вы получите компоненты, необходимые для создания файла параметров публикации. (Если выбрать Custom вместо этого, можно увидеть список компонентов, как показано на следующей иллюстрации.)
(Необязательно) Убедитесь, что Web-развертывание выполняется правильно, открыв "Панель управления" "Система и безопасность" > "Административные инструменты" > "Службы" >, а затем убедитесь, что:
работает служба агента веб-развертывания (имя службы отличается в более ранних версиях).
запущена служба веб-управления.
Если одна из служб агента не запущена, перезапустите службу агента веб-развертывания.
Если служба агента веб-развертывания отсутствует вообще, перейдите к Панель управления > Программы > Удаление программы, найдите Microsoft Web Deploy <версии>. Выберите Изменить установку и убедитесь, что вы выбрали Будет установлен на локальный жесткий диск для компонентов Web Deploy. Выполните действия по установке изменений.
Создание файла параметров публикации в IIS на Windows Server
Закройте и снова откройте консоль управления IIS, чтобы отобразить обновленные параметры конфигурации в пользовательском интерфейсе.
В IIS щелкните правой кнопкой мыши умолчанию веб-сайт, выберите Деплой>Настроить публикацию через Web Deploy.
Если вы не видите меню Развертывание, ознакомьтесь с предыдущим разделом, чтобы убедиться, что Web Deploy запущен.
В диалоговом окне Конфигурация веб-развертывания для публикации проверьте параметры.
Щелкните Настройка.
На панели результатов выходные данные показывают, что права доступа предоставлены указанному пользователю и что файл с расширением .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, на который ссылается атрибут
publishUrl
, является динамически созданным файлом обработчика HTTP для веб-развертывания. (В целях тестированияhttp://myhostname:8172
обычно хорошо работает.)Для порта
publishUrl
задан порт 8172, используемый по умолчанию для веб-развертывания.Для порта
destinationAppUrl
задан порт 80, который используется по умолчанию для IIS.Если в последующих шагах не удается подключиться к удаленному узлу из Visual Studio с помощью имени узла, проверьте IP-адрес сервера вместо имени узла.
Заметка
Если вы публикуете в IIS, работающем на виртуальной машине в Azure, необходимо открыть входящий порт для Web Deploy и IIS в группе безопасности сети. Подробные сведения см. в разделе Открытие портов для виртуальной машины.
Скопируйте этот файл на компьютер, на котором выполняется Visual Studio.
Импорт параметров публикации в Visual Studio и развертывание
На компьютере, где открыт проект ASP.NET в Visual Studio, щелкните правой кнопкой мыши на проекте в Проводнике решений и выберите Опубликовать.
Если вы ранее настроили профили публикации, появится панель публикации . Нажмите Новый или Создать новый профиль.
Выберите параметр импорта профиля.
В диалоговом окне Публикации щелкните Импорт профиля.
публикацию
Перейдите к расположению файла параметров публикации, созданного в предыдущем разделе.
В диалоговом окне импорта файла параметров публикации перейдите и выберите профиль, созданный в предыдущем разделе, и щелкните Открыть.
Нажмите кнопку Готово, чтобы сохранить профиль публикации, а затем нажмите Опубликовать.
Visual Studio начинает процесс развертывания, а окно вывода отображает ход выполнения и результаты.
Если возникают какие-либо ошибки развертывания, щелкните Дополнительные действия>Редактировать, чтобы настроить параметры. Измените параметры и щелкните Подтвердить, чтобы проверить новые параметры. Если имя узла не найдено, попробуйте использовать IP-адрес вместо имени узла в полях сервера и целевого URL-адреса.
Заметка
При перезапуске виртуальной машины Azure IP-адрес может измениться.
После успешного развертывания приложения он должен запускаться автоматически.
- Если приложение не запускается после развертывания, запустите приложение в IIS, чтобы убедиться, что оно работает правильно.
- Для ASP.NET Core убедитесь, что в поле пула приложений для DefaultAppPool задано значение Без управляемого кода.
Когда вы будете готовы, переключитесь в конфигурацию отладки.
Важный
Если вы решили отладить конфигурацию выпуска, при публикации отключите отладку в файле web.config.
- Выберите Дополнительные параметры>изменить, чтобы изменить профиль, а затем выберите параметры.
- Выберите Сохранить и повторно опубликуйте приложение.
- Выберите конфигурацию отладки, затем выберите Удалить дополнительные файлы в пункте назначения в разделе параметры публикации файлов.
- Выберите Изменить, чтобы изменить профиль, а затем выберите Параметры.
- Выберите Сохранить и повторно опубликуйте приложение.
- Выберите конфигурацию отладки, а затем выберите Удалить дополнительные файлы по месту назначения в параметрах публикации файлов.
Предупреждение
Использование учетных данных имени пользователя и пароля (обычная проверка подлинности) не является самым безопасным способом проверки подлинности. По возможности используйте альтернативные методы. Например, попробуйте опубликовать пакет из Visual Studio, а затем использовать WebDeploy.exe из командной строки для развертывания пакета. С помощью этого метода можно использовать диспетчер IIS для настройки авторизованных пользователей Windows, которые могут публиковаться на веб-сервере, и запускать WebDeploy.exe под учетной записью этого пользователя Windows. См. Установке и настройке Web Deploy в IIS 8.0 или более поздней версии. Если вы используете учетные данные паролей, обязательно используйте надежный пароль и защитите пароль от утечки или общего доступа.
(Необязательно) Развертывание путем публикации в локальной папке
Этот параметр можно использовать для развертывания приложения, если вы хотите скопировать приложение в IIS с помощью PowerShell, RoboCopy или вручную скопировать файлы.
Настройка веб-сайта ASP.NET Core на компьютере Windows Server
При импорте параметров публикации можно пропустить этот раздел.
Откройте диспетчера служб IIS и перейдите к сайтам.
Щелкните правой кнопкой мыши узел веб-сайта по умолчанию и выберите Добавить приложение.
Задайте для поля псевдонима значение MyASPApp и поле пула приложений без управляемого кода. Задайте физического пути значение C:\Publish (где позже развертывается проект ASP.NET Core).
Выбрав сайт в диспетчере IIS, выберите изменить разрешенияи убедитесь, что IUSR, IIS_IUSRS или пользователь, настроенный для пула приложений, является авторизованным пользователем с правами на чтение & выполнение.
Если вы не видите одного из этих пользователей с доступом, выполните действия по добавлению IUSR в качестве пользователя с правами на чтение & Execute.
Важный
Сведения о безопасности, связанные со встроенными учетными записями, см. в статье Общие сведения о Built-In учетных записях пользователей и групп в IIS 7.
(Необязательно) Публикация и развертывание приложения путем публикации в локальной папке из Visual Studio
Если вы не используете веб-развертывание, необходимо опубликовать и развернуть приложение с помощью файловой системы или других средств. Сначала можно создать пакет с помощью файловой системы, а затем развернуть пакет вручную или использовать другие средства, такие как PowerShell, Robocopy или XCopy. В этом разделе предполагается, что вы копируете пакет вручную, если вы не используете веб-развертывание.
В обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите Опубликовать (для веб-форм — Опубликовать веб-приложение).
Если вы ранее настроили профили публикации, появится панель публикации. Щелкните Создать профиль.
В диалоговом окне Публикации выберите папки, щелкните Обзори создайте новую папку C:\Publish.
Нажмите кнопку Завершить, чтобы сохранить профиль публикации.
Нажмите Завершить, чтобы сохранить профиль публикации.
Переключитесь в конфигурацию отладки.
Выберите Изменить, чтобы изменить профиль, а затем выберите Настройки. Выберите конфигурацию отладки, затем выберите удалить дополнительные файлы в месте назначения из раздела параметры публикации файлов.
Заметка
Если вы используете сборку выпуска, при публикации отключите отладку в файле web.config.
Щелкните Опубликовать.
Приложение публикует конфигурацию отладки проекта в локальную папку. Ход выполнения отображается в окне вывода.
Скопируйте каталог проекта ASP.NET с компьютера Visual Studio в локальный каталог, настроенный для приложения ASP.NET (в этом примере C:\Publish) на компьютере Windows Server. В этом руководстве предполагается, что вы копируете вручную, но вы можете использовать другие инструменты, такие как PowerShell, Xcopy или Robocopy.
Осторожность
Если необходимо внести изменения в код или перестроить, необходимо повторно опубликовать и повторить этот шаг. Исполняемый файл, скопированный на удаленный компьютер, должен в точности соответствовать вашему локальному источнику и символам. Если вы этого не сделаете, вы получите предупреждение
cannot find or open the PDB file
в Visual Studio при попытке отладки процесса.В 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 (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 2019 | удаленные инструменты | Совместима со всеми версиями Visual Studio 2019. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. На Windows Server см. Разблокировка скачивания файла для помощи с загрузкой удаленных инструментов. Для самой последней версии удаленных инструментов откройте документацию Visual Studio 2022. |
Visual Studio 2017 | удаленные инструменты | Совместима со всеми версиями Visual Studio 2017. Скачайте версию, соответствующую операционной системе устройства (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
На удаленном компьютере найдите и запустите Удаленный отладчик из меню Пуск.
Если у вас нет административных разрешений на удаленном компьютере, щелкните правой кнопкой мыши приложение удаленного отладчика и выберите запустить от имени администратора. В противном случае просто запустите его нормально.
Если вы планируете подключиться к процессу, работающему в качестве администратора, или выполняется под другой учетной записью пользователя (например, IIS), щелкните правой кнопкой мыши приложение удаленного отладчика и выберите запустить от имени администратора. Дополнительные сведения см. в статье Запуск удаленного отладчика в качестве администратора.
При первом запуске удаленного отладчика (или до его настройки) появится мастер настройки конфигурации удаленной отладки .
В большинстве сценариев выбирайте Далее, пока не дойдёте до страницы Настройка брандмауэра Windows мастера.
Конфигурация удаленного отладчика
Если API веб-служб Windows не установлен, что бывает только на Windows Server 2008 R2, нажмите кнопку Установить.
Выберите хотя бы один тип сети, в который вы хотите использовать удаленные средства. Если компьютеры подключены через домен, необходимо выбрать первый элемент. Если компьютеры подключены через рабочую или домашнюю группу, выберите второй или третий элемент соответствующим образом.
Затем нажмите кнопку Готово, чтобы запустить удаленный отладчик.
Затем выберите Настроить удаленную отладку, чтобы запустить удаленный отладчик.
После завершения конфигурации появится окно удаленного отладчика.
Теперь удаленный отладчик ожидает подключения. Используйте имя сервера и номер порта, показанные для задания конфигурации удаленного подключения в Visual Studio.
Чтобы остановить удаленный отладчик, выберите Файл>Выйти. Его можно перезапустить из меню "Пуск" или из командной строки:
<Remote debugger installation directory>\msvsmon.exe
Заметка
Если необходимо добавить разрешения для дополнительных пользователей, изменить режим проверки подлинности или номер порта для удаленного отладчика, см. Настройка удаленного отладчика.
Присоединение к приложению ASP.NET Core с компьютера Visual Studio
Начиная с Visual Studio 2022 версии 17.10 Preview 2 диалоговое окно "Присоединение к процессу" изменилось. Если вам нужны инструкции, соответствующие более старым диалоговым окнам, перейдите в представление Visual Studio 2019 (селектор версий в верхней левой части статьи).
На компьютере Visual Studio откройте решение, которое вы пытаетесь отлаживать (MyASPApp, если вы выполняете все действия, описанные в этой статье.
В Visual Studio выберите Отладка > Присоединить к процессу (Ctrl+Alt+P).
Совет
В Visual Studio 2017 и более поздних версиях можно повторно подключиться к тому же процессу, к которому вы ранее подключались, с помощью Отладка > Повторно подключиться к процессу... (Shift + Alt + P).
Установите типа подключения для удаленного (Windows).
Появится параметр целевого объекта подключения.
Установите целевой объект подключения на имя удаленного компьютера <> и нажмите клавишу Enter .
Убедитесь, что Visual Studio добавляет необходимый порт к имени компьютера, который отображается в формате: <имя удалённого компьютера>:порт
В Visual Studio 2022 вы увидите <имя удаленного компьютера>:4026
Требуется порт. Если номер порта не отображается, добавьте его вручную.
На компьютере Visual Studio откройте решение, которое вы пытаетесь отлаживать (MyASPApp, если вы выполняете все действия, описанные в этой статье.
В Visual Studio выберите Отладка > Присоединить к процессу (Ctrl + Alt + P).
Совет / Чаевые
В Visual Studio 2017 и более поздних версиях вы можете повторно подключиться к тому же процессу, к которому ранее подключались, с помощью Отладка > Повторное подключение к процессу... (Shift + Alt + P).
Задайте для поля квалификатора <имя удаленного компьютера> и нажмите Enter.
Убедитесь, что Visual Studio добавляет необходимый порт к имени компьютера, который отображается в формате: <имя удаленного компьютера>:порт
В Visual Studio 2019 вы должны увидеть <имя удаленного компьютера>:4024
Требуется порт. Если номер порта не отображается, добавьте его вручную.
Выберите Обновить.
Вы должны увидеть появление некоторых процессов в окне Доступные процессы.
Если вы не видите никаких процессов, попробуйте использовать IP-адрес вместо имени удаленного компьютера (требуется порт). Чтобы получить IPv4-адрес, можно использовать
ipconfig
в командной строке.Если вы хотите использовать кнопку Найти, возможно, потребуется открыть исходящий порт UDP 3702 на сервере.
Отметьте Показывать все процессы пользователей.
Введите первую букву имени процесса, чтобы быстро найти приложение.
Если вы используете модель размещения в рамках процесса в IIS, выберите правильный процесс w3wp.exe. Начиная с .NET Core 3, этот процесс используется по умолчанию.
В противном случае выберите процесс dotnet.exe. (Это внепроцессная модель размещения.)
Если у вас несколько процессов с w3wp.exe или dotnet.exe, проверьте столбец имени пользователя. В некоторых сценариях столбец Имя пользователя отображает имя пула приложений, например, IIS APPPOOL\DefaultAppPool. Если вы видите пул приложений, но он не уникален, создайте новый именованный пул приложений для экземпляра, который вы хотите отлаживать, и затем легко найдите его в столбце имени пользователя.
Выберите Прикрепить.
Откройте веб-сайт удаленного компьютера. В браузере перейдите к http://<имени удаленного компьютера>.
Вы увидите веб-страницу ASP.NET.
В работающем приложении ASP.NET выберите ссылку на страницу конфиденциальности .
Точка останова должна быть достигнута в 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
- 4026 — требуется для удаленной отладки из Visual Studio 2022 (дополнительные сведения см. в разделе назначения портов удаленного отладчика).
- 4024 — требуется для удаленной отладки из Visual Studio 2019 (дополнительные сведения см. в разделе назначения портов удаленного отладчика).
- UDP 3702 — (необязательно) Порт обнаружения активирует кнопку "Найти" при подключении к удаленному отладчику в Visual Studio. Это должен быть исходящий порт (правило исходящего трафика).
Кроме того, эти порты уже должны быть открыты установкой ASP.NET Core:
- 8172 — (необязательно) Требуется для веб-развертывания для развертывания приложения из Visual Studio