我热爱的几个 .NET 生态应用与工具
用 .NET 这几年,有些工具和框架是真的让我觉得"这钱花得值、这时间花得值"。这篇不写教程,就记录几个自己特别喜欢、日常一直在用的 .NET 生态应用,以及喜欢它们的理由。纯属个人感受,不构成任何推荐。
一、Visual Studio
虽然 VS 现在很大、启动慢,但它的调试体验真的没有替代品。条件断点、即时窗口、编辑继续、智能提示的准确度,用回其他 IDE 之后会非常不适应。尤其是对新手来说,Visual Studio 把"写代码 → 调试 → 看结果"这条链路做得特别顺,让我入门 C# 的时候少走了很多弯路。VS Code 虽然轻量,但做复杂 .NET 项目时还是 Visual Studio 更稳。
二、Rider
Rider 是 JetBrains 出的 .NET IDE,刚开始觉得收费没必要,后来试用了一下就回不去了。它的智能重构、单元测试窗口、数据库工具集成都做得很顺手,尤其在排查多项目依赖问题时,它的"解决方案宽视图"非常直观。对个人学习来说,现在有学生授权,成本不高。
三、EF Core
刚学的时候觉得 ORM 是"黑盒",不如手写 SQL 可控。真正用下来发现,EF Core 在简单 CRUD 上确实省事很多,迁移功能也省了手动建表的麻烦。当然复杂查询该写 SQL 还是写 SQL,但大部分日常场景 EF Core 已经够用了。它的 LINQ 提供程序把 C# 的类型系统带到了数据访问层,写代码时不用字符串拼表名,重构也安全。
四、Serilog 日志
.NET 内置的日志框架够用,但 Serilog 的结构化日志真的好用。记一条日志可以带上对象属性,查日志的时候按属性过滤非常方便:
Log.Information("订单 {OrderId} 创建成功,金额 {Amount}",
order.Id, order.Amount);
后来查问题的时候,直接按 OrderId 就能把这条日志筛出来,比传统的字符串拼接日志效率高太多。
五、xUnit + FluentAssertions
写单元测试本来是件枯燥的事,但 xUnit 简洁、FluentAssertions 让断言写起来像自然语言,测试代码读起来舒服很多:
result.Should().BeOfType<SuccessResult>(); result.Data.Should().NotBeNull().And.BeGreaterThan(0);
这种写法让我开始不那么排斥写测试,也算意外收获。
六、一点感受
这些工具没有一个是"必须用"的,换成别的也能干活。但 .NET 生态这几年给我的感觉是:工具越来越完善,新手想找一个能跑通的学习路径比以前容易多了。作为一个普通学习者,能用上这些成熟的开源工具,本身就是一种幸运。后面遇到喜欢的工具再继续补充。