.NET10からcsファイルを直接実行できるようになった(File-based apps)ので試しました
.NET 10.0.201
はじめに
今まで.NETでは、プロジェクトファイル(.csproj)を作成しなければプログラムを実行することができませんでした。
.NET 10からは File-based apps という機能により、単一の .cs ファイルをスクリプトのように直接実行できるようになりました。
本記事ではこの機能を試してみます。
基本的な使い方
まず Example.cs というファイルを作成し、中身を以下のように書き換えます。
using System; Console.WriteLine("Hello World!"); Console.WriteLine($"現在は {DateTime.Now} です。");
次にターミナルから以下のように実行します。
dotnet run Path/To/Example.cs
以下のような出力が得られることが確認できました。
Hello World! 現在は 2026/03/24 22:15:01 です。
dotnet build で実行ファイルを作ったりもします。
dotnet build Path/To/Example.cs
NuGetパッケージを参照する
package ディレクティブを使うと、NuGet パッケージを参照することもできます。
以下は Newtonsoft.Json を使用している例です。
#:package Newtonsoft.Json@13.0.4 using Newtonsoft.Json; var data = new { Message = "Hello", Value = 123 }; string json = JsonConvert.SerializeObject(data); Console.WriteLine(json);
dotnet run で実行すると以下の結果が得られます
{"Message":"Hello","Value":123}
別のプロジェクトを読み込む
以下のように project ディレクティブを使うと、他のプロジェクトを参照することもできます。
#:project Path/To/AnotherProject.csproj using TempClassLibrary; new Example().LogTest();