Microsoft|微软在最后一刻砍掉.NET 6热重载代码 结果惹恼开源社区

在萨蒂亚·纳德拉接管了微软 CEO 的职务之后,这家软件巨头一直在过去 10 年里积极拥抱开源,并且主动传达了对 Linux 和开源社区的热爱 。五年前,该公司更是加入了 Linux 基金会,且官方对此表示了赞许 。然而由于 .NET 社区正在酝酿的一场风暴,所有这些善意,都正处于一触即溃的危险边缘 。
访问:
微软中国官方商城 - 首页

Microsoft|微软在最后一刻砍掉.NET 6热重载代码 结果惹恼开源社区
文章图片

据悉,微软内部的一项有争议的商业决策,让许多人都开始质疑该公司对开源的承诺 。多个消息来源向 TheVerge 透露,此举同样激怒了微软自家的许多开发者,但他们却被压着不许公开抱怨 。
具体说来是,在本周即将发布的 .NET 6 中,这家雷德蒙德软件巨头悄然删除了 Hot Reload 的一个关键部分 。该功能基本上允许开发者在创建项目时获得即时反馈、并更改代码以立即查看结果 。

与竞争对手 Google 家的 Dart 编程语言和 Flutter 开发工具包来说,这是微软 .NET 框架的一个极大卖点,且该公司一直在积极将它引入 .NET 和 Visual Studio 集成开发环境 。
微软最初的计划描述,是将 Hot Reload 带给尽可能多的 .NET 开发者 。然而最后一刻的更改,又将它局限在了 Windows 平台上的 Visual Studio 开发人员,而不是走向开放与跨多个平台使用 。
微软一直在测试接近最终版本的 .NET 6 候选发布(RC)版本,其允许开发者通过 dotnet watch 在各种环境和平台上使用热重载,包括流行的 VS Code 开发环境 。
候选发布通常意味着功能完好、做好了投入生产的准备、且尽可能修复了测试期间发现的各种错误 。

Microsoft|微软在最后一刻砍掉.NET 6热重载代码 结果惹恼开源社区
文章图片

然而本周早些时候宣布的最后一分钟修改,又仅在 Visual Studio 2022 中启用了热重载功能 。负责该功能的微软项目经理 Dmitry Lyalin 给出的理由是,其旨在为大多数用户提供最佳体验 。
【Microsoft|微软在最后一刻砍掉.NET 6热重载代码 结果惹恼开源社区】但是在 GitHub 上,还是有大量开发者对此表达了严重的挫败感,Hacker News 和微软官方播客文章下的评论也是一篇骂声 。曾在微软 F# 团队工作的 Phillip Carter 在评论中写道:
在查看了源码之后,我发现了一个更让人感到失望的事实 —— Hot Reload 的支持代码只有 1~2 千行左右,但它们还是在最后一刻被撕票了 。
作为一项起初并不局限于 Visual Studio 的功能,这是一个明显的倒退,我真不希望微软就此走上回头路 。
The Verge 了解到,从 .NET 6 中删除该功能的决定,是由微软开发部门负责人 Julia Liuson 做出的 。消息人士称,此举是一项以业务为主导的决定 。

推荐阅读