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


Краткое руководство: Публикация ASP.NET веб-приложения

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

Эта статья поддерживает ASP.NET и ASP.NET Core.

Заметка

В этой статье описывается ручное развертывание, которое отлично подходит для быстрого начала работы, но для крупных проектов и, например, в производственных условиях может потребоваться настроить конвейер развертывания. Вы можете использовать GitHub Actions или Azure DevOps Pipelines для настройки автоматических развертываний с непрерывной интеграцией для таких сценариев.

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

Вам потребуется Visual Studio, установленный с рабочей нагрузкой для ASP.NET и веб-разработки.

Если вы уже установили Visual Studio:

  • Установите последние обновления в Visual Studio, выбрав Справка>Проверить наличие обновлений.
  • Добавьте рабочую нагрузку, выбрав Tools>Get Tools and Features.

Начало работы

В Обозревателе решений щелкните правой кнопкой мыши по вашему проекту и выберите команду Опубликовать.

снимок экрана с параметром

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

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

Заметка

Visual Studio фильтрует список назначений в зависимости от типа веб-приложения.

Лазурный

Подробные инструкции по публикации веб-приложения см. в "Быстрое руководство: Развертывание веб-приложения ASP.NET".

Реестр контейнеров

В этом разделе описывается публикация в реестре контейнеров. Веб-приложение можно опубликовать как контейнер Docker в любом совместимом реестре контейнеров Docker.

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

Щелкните Далее и выберите доступные варианты, например Реестр контейнеров Azure или Docker Hub.

Снимок экрана, на котором видны параметры «Публикация в реестре контейнеров Docker».

Реестр контейнеров Azure

Затем для реестра контейнеров Azure выберите существующий экземпляр или создайте новый.

снимок экрана с опцией публикации в Реестре контейнеров Azure.

Центр Docker

Затем в Docker Hub укажите учетные данные публикации.

снимок экрана с параметром публикации в Docker Hub.

Другой реестр контейнеров Docker

Затем для других реестров контейнеров Docker укажите универсальный код ресурса (URI) и опубликуйте учетные данные.

снимок экрана с параметром публикации в другом реестре контейнеров Docker.

Публикация образа контейнера

Затем вы увидите страницу сводки для нового профиля публикации , созданного с помощью мастера публикации. Щелкните Опубликовать, и Visual Studio развернет ваше веб-приложение в указанном реестре контейнеров Docker.

снимок экрана со страницей сводки.

Заметка

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

Папка файловой системы

Веб-приложение можно опубликовать как в локальных, так и в сетевых папках.

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

Сначала укажите путь и нажмите кнопку Готово для завершения работы мастера публикации.

Снимок экрана, показывающий экран мастера публикации для публикации в папке.

Затем вы увидите страницу сводки для нового профиля публикации , созданного с помощью мастера публикации. Щелкните Опубликовать, и Visual Studio развернет ваше веб-приложение по указанному пути.

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

Вы можете вернуться на эту сводную страницу после закрытия. При следующем щелчке правой кнопкой мыши и выборе Publish, Visual Studio открывает эту сводную страницу. (Чтобы вернуться к мастеру публикации, просто щелкните Создать на странице сводки.)

FTP/FTPS-сервер

Веб-приложение можно опубликовать с помощью FTP или FTPS.

снимок экрана, показывающий параметр публикации на FTP или FTPS-сервере.

Укажите необходимые сведения о подключении и нажмите кнопку Готово.

снимок экрана: экран мастера публикации для публикации на FTP-сервере или FTPS.

Затем вы увидите страницу сводки для нового профиля публикации , созданного с помощью мастера публикации. Щелкните Опубликовать, и Visual Studio развернет ваше веб-приложение на предоставленный FTP или FTPS сервер.

снимок экрана: завершение процесса публикации на FTP-сервере или ftps, страница сводки.

Вы можете вернуться на эту сводную страницу после закрытия. При следующем щелчке правой кнопкой мыши и публикации Visual Studio открывает эту сводную страницу. (Чтобы вернуться к мастеру публикации, просто щелкните Создать на странице сводки.)

Веб-сервер (IIS)

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

Настройка веб-сервера

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

На веб-сервере установите совместимость метабазы IIS 6 . В "Параметрах Windows" в разделе "Программы и компоненты"выберите "Включить или отключить компоненты Windows". Затем в разделе Internet Information Services>Средства управления вебустановите совместимость управления IIS 6. Убедитесь, что выбраны метабаза IIS и совместимость конфигурации IIS 6.

Чтобы настроить IIS для приложений ASP.NET Core, установите установщик пакета размещения .NET Core (прямая загрузка). Дополнительные сведения см. в пакете размещения .NET Core .

Если вы работаете с ASP.NET 4.8 или более ранних версий, или если вам необходимо настроить IIS на Windows Server для публикации, вы можете найти подробные инструкции в разделе Удаленная отладка ASP.NET на компьютере IIS, а для ASP.NET Core в разделе Удаленная отладка ASP.NET Core на компьютере IIS.

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

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

Публикация на веб-сервере IIS

Выберите Опубликовать, а затем Веб-сервер (IIS).

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

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

снимок экрана, показывающий параметр публикации в IIS, показывающий выбор режима развертывания.

Веб-деплой

Укажите необходимые сведения о подключении и нажмите кнопку Готово. На следующем снимке экрана показан веб-приложение, опубликованное на веб-сайте IIS по умолчанию (веб-сайт по умолчанию), установленном на локальном компьютере разработки, с привязкой порта к порту 5187. URL-адрес назначения необязателен. Если веб-сайт не указан, он не запускатся автоматически при публикации, и на экране Публикация нет ссылки для доступа к опубликованному сайту.

Скриншот, показывающий экран мастера публикации для публикации в IIS с опцией Web Deploy.

При первом публикации создайте имя пользователя и пароль. Эти учетные данные относятся к развертыванию WebDeploy. После их создания вы не сможете изменить их в Visual Studio, но можете сбросить их в IIS. Диалоговое окно "Настройка учетных данных" см. в разделе"Сайты". Если у вас нет пароля, вы можете скачать файл .publishsettings и прочитать его. См. раздел Импорт параметров публикации из IIS.

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

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

Для устранения неполадок см. коды ошибок Web Deploy.

Пакет веб-развертывания

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

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

Завершение работы мастера публикации

Затем вы увидите страницу сводки для нового профиля публикации , созданного с помощью мастера публикации. Нажмите Опубликовать, и Visual Studio развернет ваше веб-приложение на указанном сервере IIS.

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

Импорт профиля публикации

Параметры публикации можно импортировать из IIS и Azure App Service

Дальнейшие действия

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