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


Как развертывать проект веб-приложения с помощью публикации одним щелчком в Visual Studio

Этот раздел объясняет, как публиковать (развертывания) проекта веб-приложения с помощью публикации одним щелчком в следующих продуктов:

Можно развертывать на любой из следующих целей:

  • Поставщику услуг размещения.

  • В IIS на компьютере разработчика, как среда тестирования.

  • На сервер в сети вашей компании внутренней.

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

Развертывание веб-узел часто требует дополнительного работы подготовки помимо создания профиля. Этот раздел не содержит сведений о других задачах, которые, возможно, чтобы сделать. Например, можно указать компилируете и coalesce параметры на вкладке Упаковка и публикация веб-проекта, а не в профиле публиковать. Дополнительные сведения см. в разделе Общие сведения о развертывании проектов веб-приложений для Visual Studio и ASP.NET.

Создание профиля публикации

Многие поставщики услуг размещения предоставляют файл .publishsettings, который можно использовать для упрощения процесса создания профиля публиковать. Если планируется использовать файл .publishsettings, убедитесь, что имеется большинство текущую версию его перед началом. (Например, если изначально создана учетная запись не имеет базы данных SQL Server, а затем добавлены позже его, то необходимо загрузить последнюю версию .publishsettings, чтобы убедиться в том, что он включает строку подключения).

Создание профиля публикации

  1. В Обозреватель решений, щелкнув правой кнопкой мыши проект и выберите Опубликовать чтобы открыть мастер Опубликовать веб-сайт.

    Если никакие профили, пока не создана, то мастер открывается на вкладке Профиль. В противном случае он открывается на вкладке Предварительный просмотр. В этом случае создать новый профиль необходимо сначала щелкнуть вкладку Профиль.

    Publish_Web_Profile_tab

    Обратите внимание на кнопку Управление профилями на вкладке Профиль. После создания профиля можно использовать эту кнопку, чтобы переименовывать или удалять их.

  2. Выполните одну из следующих процедур, в зависимости от того, имеется файл .publishsettings:

    Чтобы создать профиль, импортировать .publishsettings храните

    1. Нажмите кнопку Импорт.

      Будет открыто диалоговое окно Параметры импорта публикации.

      Import_Publish_Settings

    2. Выберите файл .publishsettings, а затем нажмите кнопку Открыть.

    Для создания профиля без .publishsettings храните

    • В раскрывающемся списке выберите <New …>Выберите профиль публиковать или импортировать и введите имя для профиля в диалоговом окне Новый профиль.

      Publish_Web_Profile_tab_selecting_New

      New_Profile_dialog_box

Настройка вкладка " соединение "

Мастер Опубликовать веб-сайт автоматически открывается в Подключение TAB.

Publish_Web_Connections_tab_default_values

Если используется файл .publishsettings, то полей на этой вкладке, уже заполнены. В этом случае пропустить процедуру и просто проверить соединение.

Настройка вкладка " соединение "

  1. Выберите значение из списка Метод публикации.

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

    При выборе веб-развертывание а также публиковать в IIS на собственном компьютере для тестирования, необходимо иметь права администратора на компьютере, и Visual Studio должен работать в режиме администратора. (Чтобы открыть Visual Studio в режиме администратора, щелкнув правой кнопкой мыши значок в меню Visual Studio Windows Пуск и выберите Запуск от имени администратора).

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

    Снимки экрана и большинство действий в данном разделе предполагают, что выбран веб-развертывание публикуют метод. При развертывании на поставщике услуг размещения, который не поддерживает веб-развертывание можно выбрать FTP. В этом случае инструкции для некоторых из следующих действий. Поля URL-адрес службы и Сайт или приложение заменены полем Целевое расположение, в котором регистрации url-адреса FTP или FTPS. Если включить анонимный вход не требуется ввести имя пользователя и пароль. Если требуется пассивный режим, то правка файл профиля публиковать (.pubxml) и измените значение элемента FtpPassiveMode к true. Дополнительные сведения о пассивном режиме см. в разделе FTP-Deployed Web Sites и сведения о том, как изменить файл .pubxml, " см. Как изменять параметры развертывания в файлах профиля публикации (PUBXML) и файле .wpp.targets в веб-проектах Visual Studio.

    Один из параметров Метод публикациипакет веб-развертывание. Если необходимо создать пакет развертывания см. в разделе Как создать пакет веб-развертывания в Visual Studio.

  2. В окне URL-адрес службы введите URL-адрес, веб-развертывание может использоваться для публиковать приложение.

    Если размещения публиковать компания, то компания предоставляет это значение. Он может находиться в одном из следующих форматов:

    • URL_компании_хостинга (например, contoso.com).

    • HTTPs://HostingCompanyURL (например, HTTPs://contoso.com)

    • HTTPs://HostingCompanyURL:8172/msdeploy.axd (например, HTTPs://contoso.com:8172/msdeploy.axd)

    Если публиковать в IIS на собственном компьютере для тестирования, введите localhost или имя компьютера.

    Если публиковать на сервере в собственной сети, введите одно из следующих url-адресов:

    • https://ServerName

    • https://ServerName/msdeployagentservice

  3. В окне Сайт или приложение введите имя веб-сайта и приложения IIS.

    Если размещения публиковать компания, то компания предоставляет это значение. Обычно или имя домена (например, contoso.com) или домен и имя приложения (например, contoso.com/MyApplication).

    Если публиковать в IIS на собственном компьютере для тестирования или на сервере в своей внутренней сети, то введите сайт и имя приложения, по мере их появления в Диспетчер IIS. Например, если по умолчанию публиковать веб-сайту в IIS и, если имя приложения MyApplication, то веб-сайт/MyApplication входа по умолчанию.

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

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

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

    Пароль шифрования и сохраняется в файле .pubxml.user в папке PublishProfiles. Если вы используете систему управления версиями, то по умолчанию этот файл исключен из системы управления версиями.

  6. Если требуется Visual Studio автоматически открыть по умолчанию браузер на URL-адрес приложения, которое развертывается после завершения развертывания введите URL-адрес в поле Конечный URL-адрес.

Чтобы проверить параметры на вкладке подключения

  1. Щелкните Проверить соединение чтобы проверить, что можно устанавливать соединение с сервером с помощью параметров.

  2. Если появится диалоговое окно Ошибка сертификата, убедитесь, что публиковать в правильный URL-адрес (двойной- проверки URL-адрес службы и имя сервера в диалоговом окне Ошибка сертификата ). Если параметры верны, выберите Сохраните этот сертификат для будущих сеансов Visual Studio, чтобы не получать одно и то же сообщение об ошибке, а затем выберите Принять вариант сертификат. (Эта ошибка означает, что поставщик услуг размещения выбрал, чтобы избежать этой проблемы закупать ssl-сертификата для url-адреса, развертывании. Если вы предпочитаете установить безопасное соединение с помощью допустимого сертификата, обратитесь к поставщику услуг размещения).

    Certificate_Error

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

Настройка вкладку параметры

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

Publish_Web_Settings_tab_with_cf_and_non_cf_da

Настройка вкладку параметры

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

    Обычно развертывать построения выпуска. Построение отладки не выполняется эффективно и обычно выделен только при развертывании в тестовой среде и нужно отлаживать в этой среде.

  2. Если нужно удалять файлы на целевом сервере, не имеющие соответствующих файлов в проекте Интернета на компьютере, установите флажок Удалите дополнительные файлы в назначении.

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

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

    Например, если имеется веб-приложения во вложенной папке на сервере, то при развертывании проекта в корневую папку, вложенную папку будет удаляется.Может иметься один проект для главного сайта на contoso.com и другой проект для блога на contoso.com/blog.Приложение блога находится во вложенной папке.При выборе Удалите дополнительные файлы в назначении, то при развертывании главный сайт, приложение будет удалено передачи.

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

На вкладке параметры настройки базы данных

Раздел Базы данных вкладки Параметры не отображается для FTP файловой системы и FPSE публикуют методы. Если выбран один из этих методов, пропустите следующую процедуру и развертывание базы данных вручную. Дополнительные сведения см. в разделе Общие сведения о развертывании проектов веб-приложений для Visual Studio и ASP.NET.

Если выбран параметр публиковать метод веб-развертывание, то можно видеть одну запись для каждой базы данных, проект. Иллюстрация показывает проект, использующий 2 баз данных.

Publish_Web_Settings_tab_with_cf_and_non_cf_da

Если база данных, которую в проекте используется отсутствует, убедитесь, что имеется строку подключения для его в файл web.config. Вкладка Параметры перечислены базы данных, определенные строки подключения в файле web.config или классом контекста Code First Entity Framework.

Примечание

Если снять флажок Включить все базы данных, настроенные на вкладке " Упаковка и публикация SQL-проекта" , то параметры развертывания базы данных, введенных здесь не оказывают влияния.Дополнительные сведения см. в разделе Вкладка "Пакет/Веб-публикация", страница свойств проекта.

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

На вкладке параметры настройки базы данных

  1. В поле строки подключения выберите или введите строку подключения, указывающий на целевой базе данных.

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

    Destination_Connection_String_dialog_box

    Если строка подключения для базы данных, которая получить доступа Database First или Model первый Entity Framework, не указывайте полную версию строки подключения Entity Framework. Visual Studio использует строку соединения вводится здесь, чтобы выполнить развертывание, а затем он создает строку подключения Entity Framework позволяет разместить в развертыванное файл web.config.

  2. Если вы не хотите строку подключения, вставленным использоваться приложением во время выполнения, снимите флажок Используйте эту строку подключения во время выполнения.

    Если флажок Используйте эту строку подключения во время выполнения выбрать процесс развертывания изменяет строку подключения для этой базы данных, которое развертывается файл web.config к значению, в поле со списком. В большинстве сценариях это правильный выбор, но в некоторых сценариях может потребоваться приложению подключиться к базе данных с ограниченными разрешениями. В этом случае снимите этот флажок и создать преобразование Web.config, который изменяет строку соединения в файл web.config, которое развертывается с необходимо его во время выполнения. Дополнительные сведения о настройке преобразования Web.config см. на Преобразования файла web.config веб-сайте ASP.NET.

  3. При использовании класса контекста Code First Entity Framework для доступа к базе данных, то можно использовать Code First Migrations для развертывания базы данных и обновления в схеме базы данных. Для этого выберите Выполните миграция Code First (выполняется в начале приложения).

    Publish_Web_Settings_tab_with_cf_database_high

    При использовании миграция Code First для развертывания базы данных не выполняется вообще с базой данных во время фактического процесса развертывания. Однако процесс развертывания обновляет файл web.config в веб-сайте назначения, чтобы миграция Code First будут использовать класс инициализатора MigrateDatabaseToLatestVersion. Если приложение подключается к базе данных впервые после развертывания, миграция автоматически создают базу данных или обновить схему базы данных до последней версии. Если приложение реализует метод Seed производит передачу, то метод выполняется после того, как база данных или схема создана обновлена.

    Примечание

    Если приложение выполняется в среднем доверием среды, то развертывании (которые наиболее true поставщики услуг размещения) сторонних разработчиков, убедитесь, что используется Entity Framework версии 5 или более поздней.EF 4,3 и версия предварительной из EF 5 требуют полного доверия делает обновления схемы базы данных.Можно использовать EF 5 в проектах, пристреливают ASP.NET 4 и более поздних версий.

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

    Если проект реализует несколько классов DbMigrationsConfiguration для контекста классифицируют, невозможно настроить развертывание для этой базы данных в профиле публиковать. Дополнительные сведения о развертывании базы данных вручную см. в Миграция Code First разделе.

    Учетные данные в строке соединения, введенные в поле строка соединения должны представлять административную учетную запись пользователя. Эта строка подключения используется для создания базы данных при первом развертывании и обновление схемы базы данных при развертывании изменений базы данных. Если необходимо приложению получать доступ к базе данных во время выполнения с ограниченными разрешениями, снимите флажок Используйте эту строку подключения во время выполнения и создать преобразование Web.config, указывающее строку подключения необходимо приложению использовать во время выполнения. Дополнительные сведения см. в разделе Просмотр Web.config для автоматического изменения производит передачу Code First на сайте ASP.NET.

    При развертывании базы данных SQL Server Compact, а если строка подключения для базы данных в файл web.config необходимо настроить преобразование Web.config для создания дополнительная строка подключения. Code First будет использовать эту строку подключения, когда он обновляет схему базы данных. (Если это не было сделано, создайте эту строку соединения вручную, Visual Studio создает оно автоматически, но автоматически создана строка соединения содержит неверное значение providerName). Для данного преобразования XML выглядит как следующий пример:

    <connectionStrings>
      <add name="[contextclassname]_DatabasePublish" connectionString="[connectionstring]" providerName="System.Data.SqlServerCe.4.0" xdt:Transform="Insert"/>
    </connectionStrings>
    

    Если вы не хотите развертывание базы данных с помощью Code First производит передачу см. в разделе How do I deploy a Code First database without using Migrations? в Вопросы и ответы о развертывании проектов веб-приложений для Visual Studio и ASP.NET.

  4. Если не использовать класс контекста Code First для доступа к базе данных и если в базе данных SQL Server или SQL Server Express, и требуется развертывание базы данных вместе с приложением, выберите Обновление базы данных.

    Publish_Web_Settings_tab_with_non_cf_database_

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

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

    По умолчанию поставщик dbDacFx автоматически не выполняет изменения схемы, которые приводят к потере данных, например удаление столбца или таблицы. Если поставщик обнаруживает изменения схемы, которое вызвало бы потери данных, развертывание завершается неудачей и причина отображается в окне Вывод Visual Studio. Если это происходит, создайте пользовательский скрипт выполнить требуемые обновления схемы и настройте его для выполнения скриптов [Автоматическое обновление схемы] выполняется перед тем, как описано в следующем шаге. В качестве альтернативы выполнить скрипт во время развертывания можно подключиться к целевой базе данных в Обозреватель объектов SQL Server и обновления базы данных, прежде чем публиковать в интерактивном режиме проекта.

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

    Это программное обеспечение необходимо только на веб-сервере назначения, а не на сервере целевой базы данных. При развертывании на IIS на локальном компьютере разработки не следует задать это программное обеспечение, поскольку оно установлено с Visual Studio 2012, Visual Studio Express 2012 для Web или Обновление веб-публикации Visual Studio по умолчанию.

    Учетные данные в строке соединения, введенные в поле строка соединения должны представлять административную учетную запись пользователя. Эта строка подключения используется для создания базы данных при первом развертывании и обновление схемы базы данных при развертывании изменений базы данных. Если необходимо приложению получать доступ к базе данных во время выполнения с ограниченными разрешениями, снимите флажок Используйте эту строку подключения во время выполнения и создать преобразование Web.config, указывающее строку подключения необходимо приложению использовать во время выполнения. Дополнительные сведения см. в разделе Просмотр Web.config для автоматического изменения производит передачу Code First на сайте ASP.NET.

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

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

    Будет открыто диалоговое окно Настройка обновления баз данных.

    Configure_Database_Updates_dialog_box

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

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

    Configure_Database_Updates_with_custom_script

  6. Если база данных, файл базы данных SQL Server Express или SQL Server Compact в папке App_Data, и если не нужно, чтобы этот файл необходимо скопировать на целевой сервер, откройте Упакуйте и публиковать вкладку интернет окна Свойства проекта и установите флажок Исключить файлы из папки App_Data. Убедитесь, что конфигурация построения выбран на вкладке Упаковка и публикация веб-проекта при выборе этого параметра такое же одно, заданное для развертывания на вкладке Параметры мастера Опубликовать веб-сайт.

  7. Если база данных является базой данных SQL Server Compact, то также можно убедиться в том, что компонент database engine развертыватьо. Дополнительные сведения см. в разделе Развертывание базы данных SQL Server Compact на веб-сайте ASP.NET.

Предварительный просмотр изменений и публиковать проект

После настройки все базы данных, щелкните Далее чтобы переместить в Предварительный просмотр TAB.

Publish_Web_Preview_tab

Предварительный просмотр изменений и публиковать проект

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

    После того как короткое время ожидания, список файлов отображается на вкладке.

    Publish_Web_Preview_tab_with_all_files_listed

    В первый раз можно публиковать все файлы, необходимые для запуска приложения копируются к поставщику услуг размещения. После обновления, публиковать только измененные файлы копируются. (Кроме файл web.config: Visual Studio не может предсказать, какие изменения могут привести к из преобразований и параметров веб-развертывание, поэтому оно всегда копирует файл web.config). Если выбран параметр Удалите дополнительные файлы в назначении, особенно важно проверить список предварительного просмотра, прежде чем публиковать.

  2. Если выбран Обновления базы данных для базы данных, и нужно увидеть, что будет сделано к этой базе данных, щелкните ссылку база данных предварительного просмотра, которая появляется справа от базы данных. (Нельзя выполнить предварительный просмотр изменений, которые развертываются с помощью Code производит передачу первый Entity Framework). Диалоговое окно Просмотр базы данных указывающее скрипт, который будет выполняться в целевую базу данных. Если база данных большая, то она может занять минуту или более для предварительного просмотра для отображения.

    Publish_Web_Preview_tab_with_database_preview

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

  4. Если вы еще не проверили соединение, то при настройке на вкладку Подключение, можно увидеть диалоговое окно Ошибка сертификата. Дополнительные сведения см. в разделе Чтобы проверить параметры на вкладке подключения.

Если процесс развертывания ", окно Вывод указывающее, было ли развертывание успешно.

Output_Window_after_successful_deployment

Если введенное значение для Конечный URL-адрес на вкладке Подключение, то обозреватель значения по умолчанию открывается на этот URL-адрес после успешного развертывания.

Если развертывание завершается неудачей, см. в разделе окно Список ошибок для сообщений об ошибках. Для устранения неполадок ресурсов см. в разделе Карта содержимого веб-развертывания для Visual Studio b ASP.NET.

См. также

Основные понятия

Карта содержимого веб-развертывания для Visual Studio b ASP.NET