Книги онлайн и без регистрации » Разная литература » Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 373 374 375 376 377 378 379 380 381 ... 407
Перейти на страницу:
reference ..Chapter_23AutoLot.Models

dotnet add AutoLot.Api reference AutoLot.Services

Создайте проект AutoLot.Mvc, добавьте его в решение, добавьте пакеты NuGet и добавьте ссылки на проекты:

dotnet new mvc -lang c# -n AutoLot.Mvc -au none -o .AutoLot.Mvc -f net5.0

dotnet sln AutoLot.sln add AutoLot.Mvc

rem Добавить ссылки на проекты

dotnet add AutoLot.Mvc reference ..Chapter_23AutoLot.Models

dotnet add AutoLot.Mvc reference ..Chapter_23AutoLot.Dal

dotnet add AutoLot.Mvc reference AutoLot.Services

rem Добавить пакеты

dotnet add AutoLot.Mvc package AutoMapper

dotnet add AutoLot.Mvc package System.Text.Json

dotnet add AutoLot.Mvc package LigerShark.WebOptimizer.Core

dotnet add AutoLot.Mvc package Microsoft.Web.LibraryManager.Build

dotnet add AutoLot.Mvc package Microsoft.EntityFrameworkCore.SqlServer

dotnet add AutoLot.Mvc package Microsoft.VisualStudio.Web.CodeGeneration.Design

На этом настройка с применением командной строки завершена. Она намного эффективнее, если вы не нуждаетесь в графическом пользовательском интерфейсе Visual Studio.

Запуск приложений ASP.NET Core

Веб-приложения предшествующих версий ASP.NET всегда запускались с использованием IIS (или IIS Express). В ASP.NET Core приложения обычно запускаются с применением веб-сервера Kestrel, но существует вариант использования IIS, Apache, Nginx и т.д. через обратный прокси-сервер между Kestrel и другим веб-сервером. В результате происходит не только отход в сторону от строгого применения IIS, чтобы сменить модель развертывания, но и изменение возможностей разработки.

Во время разработки приложения теперь можно запускать следующим образом:

• из Visual Studio с использованием IIS Express;

• из Visual Studio с применением Kestrel;

• из командной строки .NET CLI с использованием Kestrel;

• из Visual Studio Code (VS Code) через меню Run (Запуск) с применением Kestrel;

• из VS Code через окно терминала с использованием .NET CLI и Kestrel.

Конфигурирование настроек запуска

Файл launchsettings.json (расположенный в узле Properties (Свойства) окна Solution Explorer) конфигурирует способ запуска приложения во время разработки под управлением Kestrel и IIS Express. Ниже приведено его содержимое в справочных целях (ваши порты IIS Express будут другими):

{

  "$schema": "http://json.schemastore.org/launchsettings.json",

  "iisSettings": {

    "windowsAuthentication": false,

    "anonymousAuthentication": true,

    "iisExpress": {

      "applicationUrl": "http://localhost:42788",

      "sslPort": 44375

    }

  },

  "profiles": {

    "IIS Express": {

      "commandName": "IISExpress",

      "launchBrowser": true,

      "launchUrl": "swagger",

      "environmentVariables": {

        "ASPNETCORE_ENVIRONMENT": "Development"

      }

    },

    "AutoLot.Api": {

      "commandName": "Project",

      "dotnetRunMessages": "true",

      "launchBrowser": true,

      "launchUrl": "swagger",

      "applicationUrl": "https://localhost:5001;http://localhost:5000",

      "environmentVariables": {

        "ASPNETCORE_ENVIRONMENT": "Development"

      }

    }

  }

}

Использование Visual Studio

В разделе iisSettings определены настройки запуска приложения с применением IIS Express в качестве веб-сервера. Наиболее важными настройками, на которые следует обратить внимание, являются настройка applicationUrl, определяющая порт, и блок environmentVariables, где определяется среда времени выполнения. При запуске приложения в режиме отладки эта настройка заменяет собой любую настройку среды машины. Второй профиль (AutoLot.Mvc или AutoLot.Api в зависимости от того, какой проект используется) определяет настройки для ситуации, когда приложение запускается с применением Kestrel в качестве веб-сервера. Профиль определяет applicationUrl и порты плюс среду.

Меню Run в Visual Studio позволяет выбрать либо IIS Express, либо Kestrel, как показано на рис. 29.3. После выбора профиля проект можно запустить, нажав <F5> (режим отладки), нажав <Ctrl+F5> (эквивалентно выбору пункта Start Without Debugging (Запустить без отладки) в меню Debug (Отладка)) или щелкнув на кнопке запуска с зеленой стрелкой (эквивалентно выбору пункта Start Debugging (Запустить с отладкой) в меню Debug).

На заметку! В случае запуска приложения из Visual Studio средства редактирования и продолжения больше не поддерживаются.

Использование командной строки или окна терминала Visual Studio Code

Чтобы запустить приложение из командной строки или окна терминала VS Code, перейдите в каталог, где находится файл .csproj для вашего приложения. Введите следующую команду для запуска приложения под управлением веб-сервера Kestrel:

dotnet run

Для завершения процесса нажмите <Ctrl+C>.

Изменение кода во время отладки

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

dotnet watch run

Обновленная команда вместе с вашим приложением запускает средство наблюдения за файлами. Когда в файлах любого проекта (или проекта, на который имеется ссылка) обнаруживаются изменения, приложение автоматически останавливается и затем снова запускается. Нововведением в версии ASP.NET Core 5 является перезагрузка любых подключенных окон браузера. Хотя в итоге средства редактирования и продолжения в точности не воспроизводятся, это немалое удобство при разработке.

Использование Visual Studio Code

Чтобы запустить проекты в VS Code, откройте каталог, где находится решение. После нажатия <F5> (или щелчка на кнопке запуска) среда VS Code предложит выбрать проект для запуска (AutoLot.Api или AutoLot.Mvc), создаст конфигурацию запуска и поместит ее в файл по имени launch.json. Кроме того, среда VS Code использует файл launchsettings.json для чтения конфигурации портов.

Изменение кода во время отладки

В случае запуска приложения из VS Code код можно изменять, но изменения никак не будут отражаться в выполняющемся приложении. Чтобы изменения отражались в выполняющемся приложении, введите в окне терминала команду dotnet watch run.

Отладка приложений ASP.NET Core

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

Присоединение с помощью Visual Studio

После запуска приложения (посредством команды dotnet run или dotnet watch run) выберите пункт меню DebugAttach to Process (Отладкам►Присоединиться к процессу) в Visual Studio. В открывшемся диалоговом окне Attach to Process (Присоединение к процессу) отыщите процесс по имени вашего приложения (рис. 29.4).

После присоединения к выполняющемуся процессу вы можете устанавливать в Visual Studio точки останова, и отладка будет работать так,

1 ... 373 374 375 376 377 378 379 380 381 ... 407
Перейти на страницу:

Комментарии
Минимальная длина комментария - 20 знаков. В коментария нецензурная лексика и оскорбления ЗАПРЕЩЕНЫ! Уважайте себя и других!
Комментариев еще нет. Хотите быть первым?