Ни для кого не секрет, что для реализации простых задач C# имеет тенденцию быть немного излишним.
Dotnet-script — это проект, направленный на исправление этой проблемы. Он позволяет запускать код C# в виде одного файла сценария, без метода Main, .csproj и т. д.
Давайте создадим простой скрипт «Hello World», а также более сложный скрипт, использующий пакет NuGet.
Установка
Установим dotnet-скрипт, для этого используем dotnet cli глобально:
Последняя версия на nuget.org, если вы хотите использовать конкретную версию.
Создание скрипта
Скрипт init будет генерировать 2 файла: main.csx и omnisharp.json
- omnisharp.json содержит параметры скрипта, такие как целевой фреймворк и ссылки на nuget
- main.csx содержит простой, работающий пример Hello World
Содержимое нашего main.csx:
Сначала проверьте, что ваш скрипт работает, запустив ./main.csx в командной строке. Вы должны на выходе увидеть Hello World! На компьютерах с Windows может потребоваться запустить сценарий с использованием сценария dotnet main.csx, так как строка "shebang" может быть не включена.
Используйте пакет NuGet
Отсюда мы можем сделать что-то более сложное. Давайте возьмем пакет nuget и используем его.
В файле скрипта dotnet пакеты nuget извлекаются с помощью директивы # r. В этом примере мы добавим пакет Bogus nuget для создания реалистичных имен и фамилий. Глянем в nuget.org, чтобы найти пакет Bogus, последняя версия на момент написания этой статьи - 29.0.2. Ниже описано, как мы извлекаем пакет и добавляем оператор using для его использования.
Здесь создадим простой класс Person с свойствами FirstName и LastName.
Далее создадим человека со случайным именем и выведем его, используя следующий код:
Запустите ./main.csx в командной строке. На выходе вы должны увидеть нечто похожее на это:
В целом, я думаю, что использование dotnet-script-это простой способ иметь небольшие, краткие сценарии C# без необходимости компилировать их в приложении командной строки и поддерживать файлы .csproj