Развертывание сайта с помощью Visual Studio (VB)

по Скотт Митчелл

Скачать код или скачать PDF

Visual Studio включает средства для развертывания веб-сайта. Дополнительные сведения об этих средствах см. в этом руководстве.

Введение

В предыдущем учебнике было рассмотрено развертывание простого веб-приложения ASP.NET для поставщика веб-узла. В частности, в этом учебнике показано, как использовать FTP-клиент, например FileZilla, для перемещения необходимых файлов из среды разработки в рабочую среду. Visual Studio также предлагает встроенные средства для упрощения развертывания поставщика веб-узла. В этом руководстве рассматриваются два из этих средств: средство копирования веб-сайтов, в котором можно перемещать файлы на удаленный веб-сервер и с него с помощью FTP или серверных расширений FrontPage. и средство публикации, которое копирует весь веб-сайт в указанное расположение.

Note

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

Развертывание сайта с помощью средства копирования веб-сайта

Средство копирования веб-сайтов в Visual Studio аналогично работе с автономным клиентом FTP. В двух словах, средство копирования веб-сайтов позволяет подключаться к удаленному веб-сайту через FTP или серверные расширения FrontPage. Как и в пользовательском интерфейсе FileZilla, Пользовательский интерфейс копирования веб-сайта состоит из двух панелей: в левой области перечислены локальные файлы, а в правой — эти файлы на целевом сервере.

Note

Средство копирования веб-сайтов доступно только для проектов веб-сайтов. Visual Studio предлагает это средство при работе с проектом веб-приложения.

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

Запустите проект копирования веб-сайта, щелкнув значок Копировать веб-сайт в обозреватель решений (этот значок отображается в кружке на рис. 1); Кроме того, можно выбрать параметр Копировать веб-сайт из меню веб-сайт. Любой из этих подходов запускает пользовательский интерфейс копирования веб-сайта, показанный на рис. 1. заполнена только левая панель на рис. 1, так как мы еще не подключаемся к удаленному серверу.

пользовательский интерфейс средства копирования веб-сайтов делится на две панели

Рис. 1. Пользовательский интерфейс средства копирования веб-сайта состоит из двух панелей (щелкните, чтобы просмотреть изображение с полным размером)

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

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

  • Файловая система . Выберите этот вариант, чтобы развернуть сайт в папке или сетевой папке, доступной с компьютера.
  • Локальные службы IIS . Этот параметр используется для развертывания сайта на веб-сервере IIS, установленном на компьютере.
  • FTP-сайт — подключение к удаленному веб-сайту по протоколу FTP.
  • Удаленный сайт — подключение к удаленному веб-сайту с помощью серверных расширений FrontPage.

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

указать конечный веб-сайт

Рис. 2. Указание целевого веб-сайта (щелкните, чтобы просмотреть изображение с полным размером)

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

Добавим новую страницу в проект Букревиевсвсп, а затем развернув ее, чтобы мы могли увидеть средство копирования веб-сайтов в действии. Создайте новую страницу ASP.NET в Visual Studio в корневом каталоге с именем Privacy.aspx. На странице используйте главную страницу Site.master и добавьте политику конфиденциальности сайта на эту страницу. На рис. 3 показана Visual Studio после создания этой страницы.

добавить новую страницу с именем <код>privacy. aspx</Code> в корневую папку веб-сайта.

Рис. 3. Добавление новой страницы с именем Privacy.aspx в корневую папку веб-сайта (щелкните, чтобы просмотреть изображение с полным размером)

Затем вернитесь к пользовательскому интерфейсу копирования веб-сайта. Как показано на рис. 4, в левой области теперь содержатся новые файлы — Policy.aspx и Policy.aspx.vb. Более того, эти файлы помечаются значком со стрелкой и состоянием новое, указывающим, что они существуют на локальном сайте, но не находятся на удаленном сайте.

средство копирования веб-сайтов содержит новый код <>конфиденциальность. aspx</Code> на левой панели

Рис. 4. средство копирования веб-сайтов включает новую страницу Privacy.aspx в левой области (щелкните, чтобы просмотреть изображение с полным размером).

Чтобы развернуть новые файлы, выделите их и щелкните значок со стрелкой, чтобы перенести их на удаленный сайт. После завершения перемещения Policy.aspx и Policy.aspx.vb файлы существуют как на локальном, так и на удаленном сайтах со статусом без изменений.

Вместе с перечнем новых файлов средство копирования веб-сайтов выделяет все файлы, отличающиеся между локальными и удаленными сайтами. Чтобы увидеть это в действии, вернитесь на страницу Privacy.aspx и добавьте еще несколько слов в политику конфиденциальности. Сохраните страницу, а затем вернитесь к средству копирования веб-сайтов. Как показано на рис. 5, страница Privacy.aspx в левой области имеет состояние изменено, указывающее, что она не синхронизирована с удаленным сайтом.

средство копирования веб-сайтов указывает на то, что <код>конфиденциальность. aspx</Code> страница была изменена.

Рис. 5. средство копирования веб-сайтов означает, что Privacy.aspx страница была изменена (щелкните, чтобы просмотреть изображение с полным размером)

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

Публикация веб-приложения

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

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

Note

Хотя параметр публикации доступен в Visual Studio как для проектов веб-сайтов, так и для проектов веб-приложений, Visual Web Developer предлагает только параметр Опубликовать для проектов веб-приложений.

Рассмотрим развертывание приложения для рецензирования книги с помощью параметра опубликовать. Сначала откройте Букревиевсвап (проект веб-приложения) в Visual Studio. В меню публикация выберите проект Build Букревиевсвап. Откроется диалоговое окно с предложением указать целевое расположение, помимо других параметров конфигурации (см. рис. 6). Аналогично средству копирования веб-сайта можно указать расположение, которое указывает на локальную папку, локальный веб-сайт IIS, удаленный веб-сайт, который поддерживает серверные расширения FrontPage или адрес FTP-сервера. Можно выбрать, следует ли заменить файлы на удаленном веб-сервере развернутыми файлами или удалить все содержимое на удаленном сайте перед публикацией. Также можно указать, следует ли копировать:

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

Также можно отправить содержимое папки App_Data.

указать конечный веб-сайт

Рис. 6. Указание целевого веб-сайта (щелкните, чтобы просмотреть изображение с полным размером)

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

На рис. 7 показаны файлы на FTP-сайте после завершения операции публикации. Обратите внимание, что были отправлены только страницы разметки и файлы поддержки на стороне клиента и сервера.

в рабочую среду были опубликованы только необходимые файлы

Рис. 7. в рабочую среду были опубликованы только необходимые файлы (щелкните, чтобы просмотреть изображение с полным размером)

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

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

Сводка

Развертывание веб-сайта включает в себя копирование необходимых файлов из среды разработки в рабочую среду. В предыдущем учебнике было показано, как передавать файлы с помощью FTP-клиента, такого как FileZilla. В этом руководстве мы рассмотрели два средства развертывания в Visual Studio: средство копирования веб-сайтов и параметр публикации. Средство копирования веб-сайтов аналогично клиенту FTP в том, что в нем имеется интерфейс с двумя областями, в котором перечисляются файлы на локальном компьютере и указанный удаленный компьютер, который упрощает загрузку и загрузку файлов между двумя компьютерами. Параметр publish является более тупыми средством, которое явным образом компилирует проект, а затем развертывает все приложение в указанном месте назначения.

Поздравляем с программированием!

Дополнительные материалы

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