概要
- .NET 10 Preview 4 でC#のファイル単体実行が可能に
- プロジェクト作成不要で dotnet run app.cs が利用可能
- 新しい ファイルレベルディレクティブ で柔軟な記述
- スクリプトから本格的なプロジェクトへの シームレスな移行
- CLI・VS Code での利用がより簡単に
.NET 10 Preview 4: C#ファイル単体実行機能の紹介
- dotnet run app.cs コマンドで、C#ファイルを直接実行可能
- プロジェクトファイルや.scaffold作成不要、学習やスニペット確認、アイデア検証に最適
- PythonやJavaScriptのような スクリプト的な使い方 が可能
- C#入門者やプロトタイピング、オートメーション用途 での利便性向上
- 従来の .csproj構造不要、CLIのみで実行可能
ファイルベースアプリの新ディレクティブ
- #:package でNuGetパッケージを直接参照可能
- 例:
#:package Humanizer@2.14.1
- 例:
- #:sdk でSDK指定が可能
- 例:
#:sdk Microsoft.NET.Sdk.WebでWeb機能を有効化
- 例:
- #:property でMSBuildプロパティを設定可能
- 例:
#:property LangVersion preview
- 例:
- シェバン行(#!) でUnix系シェルスクリプトとして実行可能
- 例:
#!/usr/bin/dotnet run
- 例:
スクリプトからプロジェクトへの移行
- dotnet project convert app.cs コマンドで、ファイルベースアプリをプロジェクト化
- .csproj生成、コード移動、ディレクティブのMSBuildプロパティ変換
- 例:Webアプリ用ディレクティブとパッケージ指定のコードが、正規の.csprojに変換
既存のC#スクリプト実行手法との比較
- CS-Script, dotnet-script, Cake などの既存ツールも引き続き有用
- 新機能は C#標準機能として統合、追加インストールや設定不要
- 同一言語・同一コンパイラ でプロジェクト移行も自然
はじめ方と推奨環境
- .NET 10 Preview 4 を公式サイトからインストール
- Visual Studio Code 推奨
- 最新の C# Dev Kit および C#拡張(2.79.8以上のプレリリース) を導入
- サンプルファイル作成例
Console.WriteLine("Hello, world!");- 実行:
dotnet run hello.cs
- プロジェクト変換例
dotnet project convert hello.cs
今後の展望と開発ロードマップ
- VS CodeでのIntelliSense強化 やファイルベースディレクティブのサポート改善
- 複数ファイル対応や実行速度向上 をCLIで検討中
- フィードバックは GitHub で募集中、.NET 10以降も継続的に進化予定
まとめ
- C#開発のハードル低減、アイデアから実装までのスピード向上
- プロトタイピング、教育、業務利用まで幅広く活用可能
- 一貫した開発体験 と.NETエコシステムの強みを両立