能否使用.NET 8或C# 12编译单个C#代码文件(无需项目)
可以用.NET 8直接运行单个C# 12代码文件(无需.csproj)
完全可以,.NET 6及后续版本(包括.NET 8)原生支持无需创建项目文件或.csproj的情况下,直接编译并运行单个C#代码文件,且默认支持对应.NET版本的最新C#语言特性(.NET 8默认适配C# 12)。
具体操作步骤:
编写含C# 12特性的单文件代码
比如创建一个Program.cs,用C#12的主构造函数、集合表达式等特性:// Program.cs var numbers = [1, 2, 3, 4, 5]; var calculator = new Calculator(); Console.WriteLine(calculator.Sum(numbers)); public class Calculator(int initialValue = 0) { private int _total = initialValue; public int Sum(IEnumerable<int> values) { _total += values.Sum(); return _total; } }直接运行代码
在终端进入代码所在目录,执行以下命令:dotnet run Program.cs这个命令会自动完成编译(默认启用C# 12)并执行程序,全程无需生成或配置.csproj文件。
可选:指定C#版本(若需)
如果你需要明确指定使用C# 12(虽然.NET 8默认已启用),可以添加参数:dotnet run Program.cs --langversion:12仅编译不运行
若只想编译生成可执行文件,不直接运行,可使用:dotnet build Program.cs编译产物会输出到默认的
bin/Debug/net8.0目录下。
关键说明:
- 这个单文件运行模式支持所有C# 12的语言特性,完全覆盖你的需求,不像Mono仅支持到C# 6。
- 运行时.NET会自动生成临时的项目配置,无需手动管理,非常适合快速测试单个代码文件。
内容的提问来源于stack exchange,提问作者Anks404
相关产品推荐
相关产品推荐

