ASP.NET Core: Разработка приложений ASP.NET Core с помощью dotnet watch

в 7:36, , рубрики: .net, ASP, ASP.NET, asp.net core, C#, c#.net, dotnet watch, microsoft, msaspnetcore, open source, Visual Studio, web-application, web-разработка, webapi, Блог компании Microsoft, веб-службы, руководство, руководство для разработчика

В этом руководстве мы воспользуемся существующим приложением WebApi (оно вычисляет сумму и произведение двух чисел), чтобы продемонстрировать варианты использования dotnet watch. Образец приложения специально содержит ошибку, которую мы исправим во время изучения.

ASP.NET Core: Разработка приложений ASP.NET Core с помощью dotnet watch - 1

Второй цикл статей по ASP.NET Core

1. Создание серверных служб для мобильных приложений.
2. Разработка приложений ASP.NET Core с помощью dotnet watch.
3. Создание справочных страниц веб-API ASP.NET с помощью Swagger.
4. Открытый веб-интерфейс для .NET (OWIN).
5. Выбор правильной среды разработки .NET на сервере.

Введение

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

Начало работы

Сначала скачайте образец приложения. Оно содержит два проекта, WebApp (веб-приложение) и WebAppTests (модульные тесты для веб-приложения).

В консоли перейдите в папку WebApp и выполните команды:

  • dotnet restore
  • dotnet run

Консоль отобразит сообщения (пример ниже), которые укажут на то, что приложение работает и ожидает запросы.

$ dotnet run
Hosting environment: Production
Content root path: C:/Docs/aspnetcore/tutorials/dotnet-watch/sample/WebApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

В браузере перейдите по адресу http://localhost:5000/api/math/sum?a=4&b=5, вы увидите результат 9.

Если вы перейдете по адресу http://localhost:5000/api/math/product?a=4&b=5, то получите результат 20. Но вместо этого вы снова видите 9. Мы это исправим ниже.

Добавление dotnet watch в проект

1. Добавьте Microsoft.DotNet.Watcher.Tools в файл .csproj:

<ItemGroup>
	<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
	</ItemGroup>

2. Выполните команду dotnet restore.

Выполнение команд dotnet с помощью dotnet watch

Любую команду dotnet можно выполнить с помощью dotnet watch, например:

Команда Команда с watch
dotnet run dotnet watch run
dotnet run -f net451 dotnet watch run -f net451
dotnet run -f net451 — --arg1 dotnet watch run -f net451 — --arg1
dotnet test dotnet watch test

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

Внесение изменений с помощью dotnet watch

Убедитесь, что dotnet watch работает.

Давайте исправим ошибку в методе Product в MathController, чтобы он возвращал произведение, а не сумму:

public static int Product(int a, int b)
{
  return a * b;
}

Сохраните файл. В консоли отобразятся сообщения, которые укажут на то, что dotnet watch обнаружил изменение в файле и перезапустил приложение.

Убедитесь, что http://localhost:5000/api/math/product?a=4&b=5 выдает правильный результат.

Выполнение тестов с помощью dotnet watch

  • Измените метод Product в MathController к возврату суммы и сохраните файл.
  • В командной строке перейдите в WebAppTests.
  • Выполните dotnet restore.
  • Выполните dotnet watch test. Вы увидите сообщение о том, что тест не прошёл и watcher ожидает изменение в файле:
  • Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.</li>
    	<li>Test Run Failed.
  • Исправьте метод Product так, чтобы он возвращал произведение.

dotnet watch обнаружит изменение в файле и перезапустит тесты. В консоли отобразится сообщение, что тест пройден успешно.

dotnet-watch на GitHub

dotnet-watch — это часть репозитория DotNetTools. Всё, что вы не нашли в этом руководстве, можно посмотреть именно там.

Автор: Microsoft

Источник

Поделиться

* - обязательные к заполнению поля