.NETと言えばC#やASP.NET、VB.NETなどが思いつきますが、いずれもコンパイルして実行するプログラミング言語です。そのため開発環境であるVisual Studioが必須というイメージがあります。 そんな常識を覆してくれるのがdotnet-scriptです。C#をスクリプトとして実行してくれるソフトウェアです。

dotnet-scriptの使い方

コード例です。拡張子はcsxが基本のようです。

Console.WriteLine("Hello world!");

これを dotnet コマンドで実行できるようになります。dotnetは.NET Coreのものなので、Gitのようにサブコマンドを追加しているようです。

$ dotnet script helloworld.csx 
Hello world!

CUIなので引数も扱えます。

foreach (var arg in Args)
{
    Console.WriteLine(arg);
}

実行すると引数が出力されます。

$ dotnet script helloworld.csx a b c d
a
b
c
d

さらにREPLも用意されています。

$ dotnet script
> var x = 1;
> x * 3
3

dotnet-scriptはCSXファイルを一旦コンパイルするようで、初回の実行時には多少時間がかかります。その後はキャッシュがあるのか、一回目よりは速いです。ちょっとしたファイル操作や処理の自動化を行う際には別なスクリプト言語を使っていたかも知れませんが、今後はC#だけで事足りるようになりそうです。

dotnet-scriptはC#製のオープンソース・ソフトウェア(MIT License)です。

filipw/dotnet-script: Run C# scripts from the .NET CLI.