Общие сведения о развертывании проектов веб-приложений для Visual Studio и ASP.NET
В данном разделе приведены общие сведения о задачах, которые требуются публикуют (развертывания) проекта веб-приложения Visual Studio на сервер, где другие пользователи могут получить доступ к приложению через интернет.
Этот раздел применим для следующих продуктов:
Visual Studio 2012
Visual Studio Express 2012 для Web
с Visual Studio 2010Устройств Visual Studio публиковать обновление
с Visual Web Developer 2010, экспресс-выпускУстройств Visual Studio публиковать обновление
В этом разделе содержатся следующие подразделы.
Типичные сценарии развертывания
Основные задачи развертывания
Настроить развертывание баз данных в Visual Studio
Другие задачи развертывания
Резервное копирование и восстановление
Некоторые из перечисленных ниже задач применяются только к проектам веб-приложений. Дополнительные сведения о развертывании проектов веб-узла см. в разделе Карта содержимого веб-развертывания для Visual Studio b ASP.NET.
Типичные сценарии развертывания
Можно выполнить развертывание проекта веб-приложения с помощью публикации одним щелчком или пакета развертывания.
Публикация одним щелчком ссылается на функции Visual Studio, которое позволяет развертывать непосредственно из интегрированной среды разработки Visual Studio, нажав кнопку. Visual Studio подключитесь к целевому серверу, копирует файлы проекта, и выполняет другие задачи развертывания.
Пакет развертывания в интернете ZIP-файл, который содержит все сведения, необходимые для развертывания. Пакет создается из командной строки или из Visual Studio и задайте его на целевом сервере с использованием диспетчера командной строки или IIS.
Чтобы из этих методов использовании зависит от сценария и свое личное параметры. Публикация одним щелчком обычно лучший выбор для небольших организаций, которые не реализуют процесс разработки непрерывной интеграции (CI). Обычно развертывать бы к размещению компания, на котором выполняется приложение или в общей среде размещения или на выделенном сервере. (В общей среде размещения, один сервер используется для размещения сайты для нескольких клиентов компании размещения).
В такой среде предприятия, обычно развертывается на серверах собственной компании, которые, в свою очередь, подключены к Интернету и обычно реализации процесс CI. Приложение повысить уровеньо с помощью среды тестирования и промежуточного хранения, прежде чем он развертыватьо в рабочей среде. В этих сценариях можно воспользоваться функцией публикации одним щелчком развертывание среду тестирования, но для прогрессирования через различные среды в рабочей среде, пакет развертывания обычно будет использоваться. Пакеты развертывания, более подходящие для скриптов предприятия, поскольку они могут быть встроены в процесс CI с помощью командной строки для создания и установки пакетов.
И сторонние размещение и сценарии для предприятий, применяются также при хозяйничаете веб-приложение в облаке с помощью просинь Windows. В просини Windows, приложение может выполняться в общей среде размещения преданных или на виртуальных машинах.
Основные задачи развертывания
Ниже приведены основные задачи, которые необходимо выполнить для развертывания на размещение стороннего разработчика компания:
Настройте учетную запись с компанией размещения.
Сведения о поставщике услуг размещения, которые поддерживают автоматическое развертывание в Visual Studio см. в Размещение ASP.NET разделе. Убедитесь, что выбран поставщик, который поддерживает версию ASP.NET, проект предназначен для Интернета.
Создайте профиль публиковать.
Профиль публиковать указывает сервер развертывании на учетные данные для входа в систему на сервере баз данных для развертывания и другие параметры. Компания размещения отправляет его параметры, необходимые для профиля публиковать или в электронной почте или в файле, который можно импортировать в Visual Studio.
Запустите процесс развертывания, нажав кнопку публикации одним щелчком.
Кнопка Опубликовать в мастере Опубликовать веб-сайт, используемого для создания публиковать профили. Он также доступен на панели инструментов Публикация в Интернет одним щелчком мыши, можно выбрать в меню Вид–Панели инструментов в Visual Studio.
Общую справку по этим процессом см. в разделе Как развертывать проект веб-приложения с помощью публикации одним щелчком в Visual Studio. Учебник 12 частей, который помогает выполнить полный сценарий для развертывания в Visual Studio см. на развертывание к поставщику услуг размещения сайте ASP.NET.
Примечание
По умолчанию Visual Studio 2012 создает проекты через интернет, пристреливают ASP.NET 4.5.При развертывании проекта ASP.NET 4.5 для поставщика услуг размещения, который не поддерживает ASP.NET 4.5, приложение не будет выполняться.Чтобы разрешить данную ошибку, необходимо удалить всех файлов приложения, которые были развертыватьы к серверу.Дополнительные сведения см. в разделе Развертывание к поставщику услуг размещения. Устранение неполадок.
Для скриптов развертывания корпоративных см. в Развертывание веб-приложения в сценариях предприятия разделе учебника рядов на сайте ASP.NET. Учебники развертывания, были записаны enterprise для Visual Studio 2010 и еще не были обновлены для Visual Studio 2012.
Настроить развертывание баз данных в Visual Studio
Visual Studio предлагает 3 метода автоматического развертывания базы данных:
Миграция Code First Entity Framework
Поставщик веб-развертывание dbDacFx
Поставщик веб-развертывание dbFullSql
Эти 3 метода может использоваться только при выборе веб-развертывание публиковать метод. Если используется другая, публиковать метод, как FTP " файловая система " или FPSE необходимо обрабатывать развертывание баз данных Visual Studio. См. следующие ресурсы дополнительные сведения о развертывании базы данных SQL Server вручную.
Миграция Code First Entity Framework
В версии 4.3 платформы Entity Framework Майкрософт представила миграция Code First. Миграция Code First автоматизируют процесс создания добавочные изменения в модели данных и передавать эти изменения в базу данных. В более ранних версиях Code First обычно позволить drop Entity Framework и повторно создать базу данных при каждом изменении модели данных. Это не является проблемой при разработке поскольку проверка данных воссозданное легко в производственной среде, но обычно требуется обновить схему базы данных, удаление базы данных. Производит передачу позволяет функция Code First для обновления базы данных без удаления и повторного создания. Можно предоставить Code First автоматически решить, как внести необходимые изменения схемы или можно написать код, который настраивает изменения. Основные сведения переносам см. в разделе Миграция Code First Code First.
Visual Studio может автоматизировать процесс развертывания базы данных, управлятьа переносами Code First. При настройке профиля публиковать, установить этот флажок, на который указывает Выполните миграция Code First (выполняется в начале приложения):
Этот флажок отображается для баз данных, к которому обращается приложения с помощью класса контекста Code First Entity Framework. При выборе этого параметра в процессе развертывания автоматически настраивает файл web.config приложения на целевом сервере, так что Code First будет использовать класс инициализатора MigrateDatabaseToLatestVersion. На следующем рисунке показан пример которого данный параметр выглядит как в файл web.config:
Параметр Выполните миграция Code First также приводит к тому, что процесс развертывания поместить дополнительную строку подключения в файл web.config цели.
Code First использует эту дополнительную строку подключения для внесения изменений схемы базы данных. Эта строка соединения должна указывать учетные данные пользователей, которые имеют административный доступ к базе данных. Поскольку Code First использует отдельную строку подключения для обновлений схемы, можно указать учетные данные пользователей, которые имеют ограниченную разрешения в строке соединения приложения. Дополнительные сведения см. в разделе Просмотр Web.config для автоматического изменения производит передачу Code First на сайте ASP.NET.
Visual Studio не выполняет никаких действий с базой данных во время процесса развертывания. При развертыванное приложение подключается к базе данных впервые после развертывания первой Code автоматически создает базу данных или обновляет схему базы данных до последней версии. Если приложение реализует метод Seed производит передачу, то метод выполняется после того, как база данных или схема создана обновлена.
Сведения о том, как настроить развертывание Code First производит передачу в Visual Studio см. в разделе Как развертывать проект веб-приложения с помощью публикации одним щелчком в Visual Studio и ряд Развертывание веб-приложения ASP.NET с поставщиком услуг размещения с помощью среды Visual Studio или разработчику Интернета визуального элемента учебника.
Поставщик веб-развертывание dbDacFx
Для использования поставщика веб-развертывание dbDacFx для развертывания базы данных, обозначенный Обновление базы данных в мастере установите флажок Опубликовать веб-сайт. Этот флажок отображается для баз данных SQL Server, к которому обращается приложения без использования класса контекста Code First Entity Framework:
Во время начального развертывания, поставщик dbDacFx создает таблицы и другие объекты базы данных в целевой базе данных для обеспечения соответствия базе данных-источнике. При последующих развертываниях поставщик указывает, что разные между источником и базами данных назначения и обновляет схему целевой базы данных для обеспечения соответствия базе данных-источнике. По умолчанию поставщик не выполняет никаких изменений, которые приводят к потере данных, например, когда таблица или столбец будет удален.
Этот параметр также позволяет определить собственные пользовательские скрипты SQL, которые необходимо выполнить в базе данных назначения во время развертывания. Например, можно выполнять пользовательские скрипты для вставки исходные данные в таблицы после того как поставщик создает таблицы. Или можно выполнять пользовательские скрипты для внесения изменений схемы, которые невозможно сделать автоматически, поскольку их вызвал бы потере данных.
Этот метод развертывания базы данных требует, чтобы веб-развертывание 3,0 и поставщик dbDacFx были установлены на веб-сервере назначения. (Они не должны быть установлены на сервере базы данных назначения).
Поставщик dbDacFx не работает с операционными системами более ранней, чем Windows Vista, Windows XP с пакетом обновления 2003, Windows и сервер. Для развертывания базы данных на этих операционных системах, используйте поставщик веб-развертывание dbFullSql.
Дополнительные сведения о развертывании базы данных с помощью поставщика dbDacFx, и, как задать веб-развертывание 3,0 и поставщик dbDacFx на веб-сервере назначении см. в разделе Как развертывать проект веб-приложения с помощью публикации одним щелчком в Visual Studio.
Поставщик веб-развертывание dbFullSql
Для использования поставщика веб-развертывание dbFullSql, можно настроить параметры развертывания базы данных на вкладке Упаковка и публикация SQL-проекта окна свойств проекта. Этот метод развертывания базы данных доступен в Visual Studio 2010 SP1. Поставщик dbFullSql может сделать начального развертывания схемы базы данных и может при необходимости развертывать данные, а также схема. Этот поставщик не выполняет добавочное развертывание базы данных. При попытке использовать этот поставщик для развертывания обновления схемы в существующей базе данных, развертывание завершается ошибкой, поскольку поставщик пытается создать таблицы, которые уже существуют.
Поставщик dbFullSql устаревшими метод развертывания базы данных, который должен использоваться только для конкретных сценариях, например при использовании операционной системы Windows XP или Windows 2003. Сведения о том, как настроить развертывание базы данных, который использует поставщик dbFullSql см. в разделе Вкладка "Упаковка/Публикация SQL", страница свойств проекта и Миграция на SQL Server на сайте ASP.NET.
Другие задачи развертывания
В зависимости от конкретных сценариев или функций приложения необходимы другие задачи развертывания могут быть или целесообразны. Ниже приведен список некоторых наиболее распространенных одного:
Настройка преобразования Web.config.
Файл web.config приложения может содержать параметры, которые должны быть различными в приложении, которое развертывается. Например, обычно включения отладки во время разработки и отключите его в производственной среде. Дополнительные сведения см. в разделе Преобразования файла web.configСинтаксис преобразования файла Web.config для развертывания проектов веб-приложений с помощью Visual Studio на сайте и ASP.NET.
Определите, какие файлы и папки должны быть скопированы на целевой сервер.
По умолчанию Visual Studio развертывает только файлы, необходимые для запуска приложения. Этот параметр работает подходит для большинства сценариев, но могут иметь специальные требования. Например, может понадобиться исключить файлы базы данных в папке App_Data, если эти файлы используются только в процессе разработки. Дополнительные сведения см. в разделе Настройка свойств проектаВкладка "Пакет/Веб-публикация", страница свойств проекта на сайте и ASP.NET.
Назначьте разрешения папки на целевом сервере.
Приложению может понадобиться разрешения на запись к некоторым папок проекта. Например, если приложение позволяет пользователям передавать файлы, то для этого необходим доступ на запись к папке, где он сохраняет переданных файлов. Обычно необходимо явным образом настроить данные разрешения как часть процесса развертывания или после того, как приложение было развертыватьо. Дополнительные сведения см. в разделе Разрешения для папок параметра на веб-сайте ASP.NET.
Для предварительной компиляции проекта.
Страницы по умолчанию, aspx и ascx предварительно скомпилировать в проектах веб-приложений. Вместо этого они компилированы при первом их запросе. В очень больших приложениях, этот процесс может привести к небольшой задержке, которая может быть заметна впервые веб-страницу спрошена после развертывания. Дополнительные сведения о проектах веб-приложений компилировать и слияние параметров и как определять их см. в разделе Вкладка "Пакет/Веб-публикация", страница свойств проекта и Диалоговое окно "Дополнительные параметры повторной компиляции".
Создайте автономный приложения во время развертывания.
Возможно не потребуется использовать пользователи приложения во время его развертывания. Это часто регистр при развертывании обновлений базы данных, поскольку может быть риск выполнения кода приложения, из синхронизации с базой данных. Сведения о том, как временно потребоваться вне сети приложения см. в разделе Making sure an application is off-line during deployment в Карта содержимого веб-развертывания для Visual Studio b ASP.NET.
Проверьте сайт среды, аналогичный производству до развертывания в рабочей среде.
Чтобы уменьшить вероятность обнаружения ошибки только после развертывания в рабочей среде тестирования приложения обычно в такой среде, как аналогична рабочей среде, как возможный. Чтобы сделать это, прежде чем выполнить развертывание на рабочем сервере, можно развертывать в IIS на компьютере разработчика, на промежуточный сервер или учетной записи тестов на поставщике услуг размещения. Дополнительные сведения см. в разделе Развертывание в IIS, как тестовая среда на сайте ASP.NET.
Настройте параметры развертывания, не предоставлены в пользовательском интерфейсе среды Visual Studio.
Пользовательский интерфейс Visual Studio не предоставляет все параметры развертывания, можно настроить. Например, нельзя использовать пользовательский интерфейс для исключения отдельную папку из развертывания. Однако для этого можно изменить файлы, в которых хранятся параметры конфигурации. Для каждого публиковать в ней файл .pubxml профиль, который можно редактировать непосредственно. Если необходимо настроить параметры развертывания, которые применяются ко всем публикуют профили, можно создать файл .wpp.targets. Дополнительные сведения см. в разделе Как изменять параметры развертывания в файлах профиля публикации (PUBXML) и файле .wpp.targets в веб-проектах Visual Studio.
Убедитесь, что двоичные файлы на ASP.NET MVC копируются к серверу.
При развертывании на поставщике услуг размещения, который не поддерживает версию целевого объекта ASP.NET MVC или проекта, убедитесь, что заданные пакет соответствующих MVC 3 или MVC 4 NuGet в проекте.
Убедитесь, что двоичные файлы для SQL Server Compact 4.0 копируются к серверу.
При развертывании на поставщике услуг размещения, который не поддерживает SQL Server Compact 4.0 убедитесь в том, что SqlServerCompact установить пакет NuGet в проекте. Необходимо также включить папки bin \ bin \ x86 и amd64 в проекте. Дополнительные сведения см. в разделе Развертывание базы данных SQL Server Compact.
Резервное копирование и восстановление
Прежде чем развертывать обновление к существующему сайту, создайте план отката, восстановления приложения в исходное состояние, если происходит ошибка. Некоторые действия, который необходимо рассматривать собирается включают следующее:
Создать резервную копию всех код и ресурсы, используемые сайтом.
Предупреждение
Не следует предполагать, что путем развертывания на сервер необходимо создать резервную копию проекта.Исходный код компилироваться в сборку, прежде чем развертывание обычно не копируется к серверу.
Если инструкция обновления содержит изменения базы данных, необходимо создать план для отката изменений подпирать вне базы данных. Возможно, потребуется создать на всякий случай скриптов отката заранее. Также можно подумать о необходимых действиях в случае, если данные были введены в ставите изменен, то на обсуждение после развертывания, но перед откатом или если другие приложения используют одну и ту же базу данных.
Если приложение взаимодействует с другими приложениями, создайте план отката, указывающий, что делать о них если необходимо откатить обновление.
См. также
Основные понятия
Карта содержимого веб-развертывания для Visual Studio b ASP.NET