ASP.NET Core MVC: Настройка проекта для начинающих

Структура проекта

При создании пустого проекта ASP.NET Core MVC, он содержит несколько папок и файлов:

  • Папка проекта: Основная папка с именем проекта (например, Shop). Содержит все файлы и папки проекта. Внутри находится файл Connected Services — графический интерфейс для подключения служб (например, облачных хранилищ).
  • Папка Properties: Содержит свойства проекта. Файл launchSettings.json описывает локальный сервер и порт: localhost:50398 при запуске через Visual Studio, localhost:5001 или localhost:5000 при прямом запуске проекта.
  • Папка Dependencies: Содержит зависимости проекта — библиотеки и плагины. По умолчанию присутствует Microsoft.AspNetCore.App, обеспечивающий базовый функционал. Можно добавлять собственные библиотеки.
  • Файл appsettings.json: Содержит настройки проекта, например, текущую конфигурацию (отладка — Debug, релиз — Release). Режим Release используется для готового проекта.

Основные файлы проекта

  • Program.cs: Содержит функцию Main, точку входа приложения. Запускает WebHostBuilder, создающий и запускающий веб-хост. Все контроллеры и исполняемый код запускаются отсюда.
  • Startup.cs: Файл настроек приложения. Можно настраивать отслеживание URL-адресов и другие параметры. Функция Configure обрабатывает исключения и настройку отображения страниц с ошибками. В режиме отладки (Debug) отображаются все ошибки, в режиме выпуска (Release) — только страница 404 («Страница не найдена»).

Режимы разработки и публикации

Приложение имеет два основных режима: Development (разработка) и Production (публикация). Режим определяется в свойствах проекта. В режиме Development отображаются все ошибки, в режиме Production — нет. Переключение влияет на работу функции Environment.IsDevelopment() в Startup.cs.

Пример добавления условия в Startup.cs:

if (env.IsDevelopment())
{
    // Код для режима разработки
}
else if (env.IsProduction())
{
    // Код для режима Production
}

Режим изменяется в файле Properties/launchSettings.json, меняя значение поля Development на Production. Необходимо сохранить файлы и перезапустить приложение.

Подключение библиотек

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

  • Microsoft.AspNetCore.StaticFiles: для работы со статическими файлами (изображениями, CSS и т.д.).
  • Microsoft.AspNetCore.Mvc: для работы с моделью MVC (Model-View-Controller).

Настройка Startup.cs

Функция ConfigureServices в Startup.cs регистрирует сервисы. Функция Configure настраивает конвейер запросов. В Configure можно добавить:

  • app.UseExceptionHandler(): обработчик исключений.
  • app.UseStatusCodePages(): отображение кодов статуса HTTP.
  • app.UseStaticFiles(): использование статических файлов.
  • app.UseMvcWithDefaultRoute(): настройка маршрутизации по умолчанию для MVC.

В статье рассмотрены основные аспекты настройки проекта ASP.NET Core MVC.

Что будем искать? Например,программа