Pull to refresh
0
Microsoft
Microsoft — мировой лидер в области ПО и ИТ-услуг

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

Reading time 3 min
Views 14K
Original author: Rick Anderson, Victor Hurdugaci
В этом руководстве мы воспользуемся существующим приложением WebApi (оно вычисляет сумму и произведение двух чисел), чтобы продемонстрировать варианты использования dotnet watch. Образец приложения специально содержит ошибку, которую мы исправим во время изучения.



Второй цикл статей по 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, снова получите 9 вместо ожидаемого 4 * 5 = 20. Мы это исправим ниже.

Добавление 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.
    	Test Run Failed.

  • Исправьте метод Product так, чтобы он возвращал произведение.

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

dotnet-watch на GitHub


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

UPD: Благодарим за корректировку Илью.
Tags:
Hubs:
+24
Comments 7
Comments Comments 7

Articles

Information

Website
www.microsoft.com
Registered
Founded
Employees
Unknown
Location
США