Как запустить asp net приложение локально вне visual studio

Обновлено: 06.07.2024

Я понимаю, что вопрос может вам показаться глупым, но я начинающий и не смог найти информацию в интернете.

Ответы (4 шт):

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

Почитать для ознакомления:

Информации достаточно много, прикрепил вам для ознакомления несколько ссылок. Ну и в качестве бонусной ссылки рекомендую к ознакомлению вот эту:

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

введите сюда описание изображения

Так как это веб-приложение, то для его работы нужен сервер. VS использует IIS сервер, так что и вы можете попробовать развернуть проект на IIS.

  1. Статические файлы (обычно это папки Content, Scripts и Views - но могут быть любые)
  2. Папка bin (тот самый результат компиляции)
  3. Файл web.config

Также понадобятся сервер IIS. Это компонент винды, ставится (на восьмерке, в других виндах может называться по-другому) через "Панель управления" - "Программы и компоненты" - "Включение и отключение компонентов Windows". На серверных виндах нужна роль "Веб-сервер" или "Сервер приложений", точно не помню.

Все эти файлы надо перенести в папку c:\inetpub, ее подпапку - или в любое другое место.

  • Если вы копировали файлы в корень inetpub - ваш сайт уже может работать.
  • Если вы создали вложенную папку - вам надо зайти в настройки IIS, найти там эту папку, нажать на нее правой кнопкой и выбрать пункт "Преобразовать в приложение".
  • Если вы положили файлу куда-то еще, вам надо создать сайт или приложение, и указать для него виртуальный и физический пути (виртуальный путь - это адрес сайта, физический - это где лежат его файлы).

Имеется способ автоматически скопировать в выходную папку дерево необходимых веб-серверу файлов, чтобы не искать их вручную. Для этого надо построить проект из командной строки через msbuild с ключами "/t:PipelineCopyAllFilesToOneFolderForMsdeploy /p:Configuration=Release /p:WPPAllFilesInSingleFolder=путь\к\выходной\папке"

Также можно получить архив с этими файлами, пригодный для развертывания через msdeploy (службу управления IIS) - для этого надо указать ключи "/t:Package /p:Configuration=Release /p:PackageLocation=путь\к\выходной\папке"

Кроме того, если просто собрать проект с ключом "/t:Package" - то все файлы в одном месте можно будет найти по пути obj*\Package\PackageTmp

Также набор файлов для развертывания можно получить через саму студию, нажав на проект правой кнопкой и выбрав пункт "Публикация. " ("Publish. ")

Как настроить такую публикацию на примере консольного приложения?

На самом деле процесс настройки такой публикации ничем не отличается от того, что мы привыкли видеть в соответствующем мастере Visual Studio проходя все его окна. Отличие появляется только в самом конце настройки, так как для публикации в режиме «автономного исполняемого файла» требуется изменить значения от одного до трёх параметров (в зависимости от того, что вы хотите получить в итоге) заданные по умолчанию.

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

Для этого выберите профиль и нажмите ссылку «Показать все параметры».

Профиль публикации

В появившемся окне установите для параметра «Режим развёртывания» значение «Автономное».

Параметры публикации

По умолчанию параметр «Целевая среда выполнения» имеет значение «win-x86». Если вы планируете публиковать приложение для другой платформы вам нужно указать соответствующую платформу, как показано на скриншоте ниже.

Выбор среды исполнения

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

Для того чтобы сохранить внесённые изменения нажмите кнопку «Сохранить».

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

Выходные файлы

Для простейшего консольного приложения (стандартный шаблон Visual Studio с «Hello, world!» получилось в общей сложности 225 файлов с общим размером порядка 58 МБ.

Исходный размер выходных файлов

Многовато для «Hello, world!», но такова плата за автономность.

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

Параметры публикации отдельный файл

В этом случае создаётся всего 6 файлов с общим размером чуть больше 52 МБ.

азмер основного исполняемого файла

При этом основная часть приходится на исполняемый файл приложения (в нашем примере это ConsoleApp1.exe)

Данное обстоятельство также необходимо учитывать при подготовке приложения к выпуску.

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

Настройка при создании профиля ClickOnce

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

Когда вы создаете новый MVC проект, Visual Studio дает вам возможность выбора между различными отправными точками: Empty, Basic, Internet Application, Intranet Application, Mobile Application и Web API, как показано на рисунке 12-1.

Рисунок 12-1: Выбор начальной конфигурации MVC проекта


Мы уже показали вам первые два шаблона в предыдущих главах. Шаблон проекта Empty мы использовали в главе 2 для приложения RSVP. Он содержит только необходимый минимум файлов, необходимых для MVC фреймворка.

Мы использовали шаблон проекта Basic в главе 7, когда мы создали приложение SportsStore . Его структура дополнена, по сравнению с шаблоном Empty, некоторыми макетами, файлами JavaScript и некоторыми CSS стилями, используемыми для элементов HTML форм и валидации. Шаблон Basic мы используем в наших собственных проектах, потому что скриптовые файлы и другие дополнения полезны, но мы все же можем сами реализовывать важные части проекта, как мы делали для приложения SportsStore .

Шаблоны Internet Application и Intranet Application заполнены более полно, тут используются различные механизмы аутентификации, которые подходят для интернет и интранет приложений. Шаблон Mobile Application является вариацией шаблона Internet Application, и он оптимизирован для мобильных устройств (мы объясним новые функции MVC 4 для мобильных устройств в главе 24). И, наконец, шаблон Web API создает проект, который поможет вам начать работу с новой MVC 4 Web API функцией, которую мы объясним в главе 25.

Вы можете увидеть разницу между тремя из этих шаблонов на рисунке 12-2, где мы показали содержимое Solution Explorer для шаблонов Basic, Internet Application и Intranet Application.

Рисунок 12-2: Начальное содержание, созданное шаблонами Empty, Internet Application и Intranet Application


Вы видите, что проект Internet Application является самым сложным, это потому что он реализует всю систему пользовательской аутентификации, которая требует много различных представлений. Проект Intranet Application может работать с Windows аутентификацией для обработки задач, связанных, например, со сменой пароля. А шаблон Basic по умолчанию вообще не обеспечивает аутентификацию.

В основном мы используем шаблоны Empty и Basic и рекомендуем вам делать то же самое. По умолчанию функционал в других шаблонах является слишком общим, чтобы быть полезным, и требует больших трудовых затрат. Мы получаем лучшие результаты, когда строим наши проекты с нуля.

В таблице 12-2 представлены файлы и папки, которые имеют особенное значение, если они присутствуют в MVC проекте.

Таблица 12-2: Дополнительные элементы MVC проекта
Папка или файл Описание
/Areas Области (areas) являются одним из способов разбития больших приложений на более мелкие куски. Мы расскажем об областях в главе 13.
/App_GlobalResources , /App_LocalResources В них хранятся исходные файлы, используемые для локализации страниц Web Forms.
/App_Browsers Эта папка содержит XML файлы .browser , которые описывают, как идентифицировать определенные веб-браузеры, и на что способны эти браузеры (например, поддерживают ли они JavaScript).
/App_Themes Эта папка содержит темы Web Forms (в том числе файлы .skin ), которые влияют на то, как отображаются элементы управления Web Forms.

Понимание MVC соглашений

Есть два вида соглашений для MVC проектов. Первое из них – это действительно только предложение о том, как вы можете структурировать проект. Например, по соглашению JavaScript файлы размещаются в папке Scripts . Это место, где другие MVC разработчики в первую очередь будут их искать, а также именно сюда Visual Studio помещает исходные файлы JavaScript для нового MVC проекта. Но вы можете переименовать папку Scripts или удалить ее полностью и сохранять ваши скрипты где угодно. Это не помешает MVC фреймворку запускать приложение.

Другой вид соглашения вытекает из принципа соглашения о конфигурации, которое было одним из основных пунктов продажи, сделавшим Ruby on Rails таким популярным. Соглашение о конфигурации означает, что вам не нужно, например, явно настраивать связь между контроллерами и представлениями. Вы просто следуете определенным именованиям для ваших файлов, и все работает. Тут существует меньше гибкости в изменении структуры проекта, если вы имеете дело с таким соглашением. О соглашениях более подробно рассказывается в следующих разделах.

Совет

Все соглашения могут быть изменены, если вы используете пользовательский движок представления, который мы рассмотрим в главе 18. Но не стоит этим слишком увлекаться: по большей части вы будете использовать эти соглашения в своих MVC проектах.

Следуя соглашениям для классов контроллеров

Классы контроллеров должны иметь имена, которые заканчиваются на Controller , например, ProductController , AdminController и HomeController .

При обращении к контроллеру из другой части проекта, например, при использовании вспомогательного метода, необходимо указать первую часть имени (как Product ), а MVC фреймворк автоматически добавит к имени Controller и начинает искать класс контроллера.

Совет

Вы можете изменить это поведение, если создадите свою собственную реализацию интерфейса IControllerFactory , который мы опишем в главе 17.

Следуя соглашениям для представления

Представления и частичные представления находятся в папке /Views/Controllername. Например, представление, связанное с ProductController , будет находиться в папке /Views/Product .

Совет

Обратите внимание, что мы опускаем часть класса Controller из папки Views : мы используем папку /Views/Product , а не /Views/ProductController. Это может показаться нелогичным на первый взгляд, но очень скоро вы к этому привыкнете.

MVC фреймворк ожидает, что представление по умолчанию для метода действия должно быть названо после этого метода. Например, представление по умолчанию, связанное с методом действия List следует называть List.cshtml . Таким образом ожидается, что для метода действия List в классе ProductController представление по умолчанию будет называться /Views/Product/List.cshtml .

Представление по умолчанию используется, если вы возвращаете в методе действия результат вызова метода View :

Вы можете указать другое представление по имени:

Обратите внимание, что мы не включаем расширение имени файла или путь к представлению. При поиске представления MVC фреймворк смотрит в папку с именем контроллера, а затем в папку /Views/Shared . Это означает, что мы можем хранить представления, которые будут использоваться более чем одним контроллером, в папке /Views/Shared , и фреймворк их найдет.

Следуя соглашениям для макетов

Соглашение по именованиям для макетов заключается в том, что перед именем файла стоит знак подчеркивания ( _ ), а файлы макетов помещаются в папку /Views/Shared . Visual Studio создает макет _Layout.cshtml , если используется любой шаблон, кроме Empty . Этот макет применяется ко всем представлениям по умолчанию через файл /Views/_ViewStart.cshtml .

Если вы не хотите, чтобы макет по умолчанию применялся ко всем представлениям, вы можете изменить настройки в _ViewStart.cshtml (или полностью удалить файл), чтобы указать другой макет для представления:

Или вы можете отключить любой макет для данного представления:

Дано три стороны треугольника: a , b , c .

Используя формулу Герона, разработать приложение, которое находит площадь треугольника. Приложение реализовать как Web-application .

Формула Герона имеет вид:

Формула Герона

где p – полупериметр:

a, b, c – длина сторон треугольника.

Выполнение

1. Запустить MS Visual Studio

Пример создания приложения в MS Visual Studio по шаблону Windows Forms Application подробно описывается в теме:

2. Создание Web-приложения

Приложения типа Web могут вызываться из любого компьютера, подключенного к сети Internet. Для открытия такого приложения используется Web -браузер (например Opera , Google Chrome , Internet Explorer и другие).

Ниже указаны два способа создания Web -приложения в MS Visual Studio .

2.1. Создание Web-приложения (способ № 1)

Для этого способа, чтобы создать Web -приложение, нужно сначала вызвать команду (рис. 1):

Рис. 1. Команда создания нового веб-сайта

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

MS Visual Studio команда создания Web-сайта

Рис. 2. Создание Web-сайта

2.2. Создание Web-приложения (способ № 2)

Существует также и другой способ создания Web -приложения с помощью команды (рис. 3)

Visual Studio Команда ASP .NET Empty Web Site

Рис. 3. Команда создания нового проекта

Рис. 4. Команда создания Web-приложения

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

Для решения задачи выбираем первый способ.

После выполненных операций создается решение ( Solution ), в котором есть один проект типа веб-сайт (рис. 5).

Окно "Solution Explorer" создание веб-сайта

Если запустить на выполнение данный проект, то внизу в правой части экрана ( SySTray ) отобразится окно загруженного локального сервера (рис. 6).

Visual Studio локальный сервер выполнение приложения

Рис. 6. Загрузка локального сервера для выполнения приложения

В результате запуска, в активном веб-браузере откроется страница с приблизительно таким текстом (рис. 8):

Рис. 8. Текст, который выводится в веб-браузере

4. Добавление формы к приложению

Добавим новую форму к Web -приложению.

Рис. 10. Добавление новой формы

После добавления, в Solution Explorer можно увидеть дополнительные два файла (рис. 11):

С помощью этих двух файлов можно изменять внешний вид формы и организовывать работу в ней.

Visual Studio Файлы формы "Default.aspx" "Default.aspx.cs"

С помощью кнопок Design и Source можно переключаться между режимом проектирования и режимом кода страницы Default.aspx (рис. 12).

Рис. 12. Режимы проектирования ( Design ) и кода ( Source )

5. Конструирование формы

Согласно с условием задачи, форма должна содержать следующие элементы управления:

5.1. Изменение размеров формы

Рис. 13. Изменение размеров формы в режиме проектирования

Для нашей задачи нужно вынести на форму следующие элементы управления:

При вынесении элемента управления в правой нижней части экрана (окно Properties ) можно изменять свойства элементов управления (рис. 14).

Рис. 14. Изменение свойств элементов управления Web -формы

В целом, после построения, форма приложения должна иметь вид как показано на рисунке 15.

Рис. 15. Форма приложения в режиме проектирования

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page < protected void Page_Load( object sender, EventArgs e) < >protected void Button1_Click( object sender, EventArgs e) < double a, b, c, p, s; a = Double .Parse(TextBox1.Text); b = Double .Parse(TextBox2.Text); c = Double .Parse(TextBox3.Text); p = (a + b + c) / 2; s = Math .Sqrt(p * (p - a) * (p - b) * (p - c)); Label4.Text = "S text-align: justify;">После запуска приложения на выполнение можно проконтролировать его работу в Web -браузере (рис. 16).

Рис. 16. Выполнение Web -приложения в браузере Opera

После этого можно выносить приложение на Web-сервер. Но это уже другая тема.

Читайте также: