Найти в Дзене
Блог Дотнет

Запуск сценариев C# с использованием dotnet-script

Оглавление

Ни для кого не секрет, что для реализации простых задач C# имеет тенденцию быть немного излишним.

Dotnet-script — это проект, направленный на исправление этой проблемы. Он позволяет запускать код C# в виде одного файла сценария, без метода Main, .csproj и т. д.

Давайте создадим простой скрипт «Hello World», а также более сложный скрипт, использующий пакет NuGet.

Установка

Установим dotnet-скрипт, для этого используем dotnet cli глобально:

-2

Последняя версия на nuget.org, если вы хотите использовать конкретную версию.

Создание скрипта

Скрипт init будет генерировать 2 файла: main.csx и omnisharp.json

  • omnisharp.json содержит параметры скрипта, такие как целевой фреймворк и ссылки на nuget
  • main.csx содержит простой, работающий пример Hello World

Содержимое нашего main.csx:

-3

Сначала проверьте, что ваш скрипт работает, запустив ./main.csx в командной строке. Вы должны на выходе увидеть Hello World! На компьютерах с Windows может потребоваться запустить сценарий с использованием сценария dotnet main.csx, так как строка "shebang" может быть не включена.

Используйте пакет NuGet

Отсюда мы можем сделать что-то более сложное. Давайте возьмем пакет nuget и используем его.

В файле скрипта dotnet пакеты nuget извлекаются с помощью директивы # r. В этом примере мы добавим пакет Bogus nuget для создания реалистичных имен и фамилий. Глянем в nuget.org, чтобы найти пакет Bogus, последняя версия на момент написания этой статьи - 29.0.2. Ниже описано, как мы извлекаем пакет и добавляем оператор using для его использования.

-4

Здесь создадим простой класс Person с свойствами FirstName и LastName.

-5

Далее создадим человека со случайным именем и выведем его, используя следующий код:

-6

Запустите ./main.csx в командной строке. На выходе вы должны увидеть нечто похожее на это:

-7

В целом, я думаю, что использование dotnet-script-это простой способ иметь небольшие, краткие сценарии C# без необходимости компилировать их в приложении командной строки и поддерживать файлы .csproj

Ссылки