什么是基于文件的应用
环境要求
得安装 .NET 10 SDK 才能使用基于文件的应用功能。可以通过下面的命令来检查 .net 版本:
dotnet --version |
这里应该显示10.0.0或更高版本。
上示例
示例1:date-checker.cs使用标准库的应用
var targetDate = DateTime.Now; |
Console.WriteLine("当前时间是: " + targetDate); |
Console.WriteLine("当前日期是今年的第 {0} 天", targetDate.DayOfYear); |
示例2:sales-data-analyse.cs依赖第三方库的应用
#:property PublishAot=false |
#:package CsvHelper@33.0.1 |
using CsvHelper; |
using System.Text.Json; |
using System.Globalization; |
var json = await File.ReadAllTextAsync("sales_data.json"); |
var sales = JsonSerializer.Deserialize<List<SaleRecord>>(json); |
var topProducts = sales.GroupBy(s => s.Product) |
.Select(g => new |
{ |
Product = g.Key, |
TotalAmount = g.Sum(s => s.Amount) |
}) |
.OrderByDescending(g => g.TotalAmount) |
.Take(10) |
.ToList(); |
using var writer = new StreamWriter("top_products.csv"); |
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture); |
csv.WriteRecords(topProducts); |
Console.WriteLine("报告生成成功"); |
record SaleRecord(string Product, decimal Amount, DateTime Date); |
分别使用下面的命令运行这两个示例:
dotnet run .\date-checker.cs |
dotnet run .\sales-data-analyse.cs |
常用指令
要去使用#:开头的指令来配置包、sdk、编译选项。
使用#:sdk指令来选择 SDK
默认的SDK是Microsoft.NET.Sdk,如果需要使用Microsoft.NET.Sdk.Web来构建 web 应用,可以使用下面的指令:
#:sdk "Microsoft.NET.Sdk.Web" |
使用#:package指令来引入第三方库
#:package CsvHelper@33.0.1 |
#:package CsvHelper@* |
#:package CsvHelper@33.* |
上面三个版本分别表示使用指定版本、最新版本和指定主版本的库。
使用#:property指令设置编译选项
编译属性就是csproj文件中的属性,可以使用#:property指令来设置:
#:property LangVersion=preview |
#:property Nullable=disable |
#:property PublishAot=false |
#:property TargetFramework=net10.0 |
使用#:reference指令来引用本地程序集
#:reference "path/to/your/library.dll" |
使用#:project指令来引用本地项目
#:project "path/to/your/project.csproj" |
CLI 支持
下面是一些支持基于文件的应用的 CLI 命令:
dotnet run <file.cs>:运行指定的.cs文件。dotnet build <file.cs>:构建指定的.cs文件。dotnet publish <file.cs>:发布指定的.cs文件。dotnet pack <file.cs>:打包指定的.cs文件。dotnet project convert <file.cs>:转换指定的.cs文件为一个完整的项目。dotnet restore <file.cs>:还原指定的.cs文件中引用的包。dotnet clean <file.cs>:清理指定的.cs文件生成的输出。dotnet run <file.cs> -- <args>:运行指定的.cs文件,并传递额外的命令行参数。
