Структура проекта
При создании пустого проекта 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.