Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
После того, как приложение написано и протестировано локально, его можно опубликовать, чтобы оно стало доступно широким массам.
Для начала нужно выбрать среду размещения. Мы можем выбрать одну из следующих возможностей:
Веб-сервер IIS
Веб-сервер nginx
Облачная платформа Windows Azure
В зависимости от выбранной среды будут различаться условия конфигурации приложения и его администрирования.
Теперь рассмотрим основные составные части публикуемого сайта, из чего непосредственно будет состоять работающее веб-приложение.
Статические ресурсы в данном случае - это файлы стилей css, скрипты JavaScript, файлы изображений. В стандартной структуре проекта ASP.NET MVC эти файлы располагаются в каталогах Content, Scripts и Images соответственно. Эти файлы не компилируются в динамические сборки, поэтому являются статическими ресурсами и переносятся на сайт при публикации как есть.
Сборки приложения представляют по сути ключевую часть приложения - именно в них компилируются наши классы и контроллеры. При компиляции сборки приложения попадают в проекте в папку bin, где их собственно можно найти. Так, если приложение называется BookStore, то в после компиляции в папке bin окажется файл BookStore.dll, который и будет представлять ключевой файл приложения.
При развертывании приложения важно, чтобы оно имело доступ к библиотекам фреймворка ASP.NET MVC. Для этого надо либо установить на сервере данный фреймворк, либо включить все нужные библиотеки фреймворка в пакет приложения. В последнем случае все нужные нам библиотеки также оказываются в папке bin.
В Visual Studio 2012 (в том числе в Express-версии) копирование библиотек в папку bin происходит автоматически). Поэтому все динамические библиотеки фреймворка вы уже сможете увидеть в папке bin после компиляции.
А в Visual Studio 2010 необходимо воспользоваться специальной опцией Add Deployable Dependencies.... Для этого нажмем в структуре проекта на название проекта правой кнопкой мыши и в появившемся меню выберем Add Deployable Dependencies....
После этого в появившемся окне выберем ASP.NET MVC и нажмем ОК. После этого все необходимые библиотеки фреймворка будут добавлены в папку bin.
Файлы, содержащие настройки приложения. При развертывании важно учитывать, что некоторые настройки могут меняться в зависимости от сервера. Так, при публикации, возможно, придется менять строку подключения к БД.
Представления, которые содержатся в каталоге Views, включается в пакет приложения как есть, в отличие от основной сборки приложения. Затем уже в процессе обращения к приложению в ходе JIT-компиляции представления компилируются и отдаются пользователю в ответ на запрос.
В итоге если у нас такая структура проекта в Visual Studio:
То при публикации (например, в файловой системе) у нас получается примерно такая структура: