2025年11月11日リリースの .NET 10 以降、ソリューションやプロジェクトファイルを用意することなく、ただの1つのソースコードファイルだけで、C# プログラムをその場で即時ビルド&即時実行することができる機能が追加されました。

#!/usr/bin/env dotnet
Console.WriteLine("Hello, World!");

dotnet ファイル名 で、ビルドから実行が可能です。

#:include ディレクティブを使うと、他の *.cs ソースコードファイルを含めることができます。
public static class Piyo
{
public static string Msg(string str)
=> $"{str}, Piyo!";
}
#!/usr/bin/env dotnet
#:include Piyo.cs
Console.WriteLine(Piyo.Msg("Hoge"));
$> dotnet Hoge.cs
Hoge, Piyo!
#:package ディレクティブを使うと、NuGet パッケージの参照を追加することができます。
#!/usr/bin/env dotnet
#:package Kokuban@0.2.0
using Kokuban;
Console.WriteLine(Chalk.Bold.Red.BgYellow["Hello, World!"]);

#:project ディレクティブを使うと、別のプロジェクト内を全部参照することができます。
#:property ディレクティブを使うと、MSBuild プロパティ値の設定ができます。
#:property TargetFramework=net10.0
#:property LangVersion=14.0
#:property PublishAot=false
※ File Based Apps では、デフォルトで AOT が有効となっていますので、AOT を OFF にしたいときは #:property PublishAot=false を記述します。