激怒开源社区,微软悄悄删除 2500 行功能代码后致歉:已恢复!
近日,激怒.NET 开源社区 “再起波澜”。开源
只因微软在即将发布的社区删除 .NET 6 中悄悄删除了 Hot Reload(热重载) 的核心部分,此举彻底激怒了 .NET 开源社区开发者,微软他们强烈反对微软这种行为,悄悄认为微软这样做极不利于 .NET 开源社区健康发展。行功

删除 “热重载” 功能的码后意味着什么
据了解,所谓 Hot Reload(热重载)功能,致歉是已恢一个可以允许开发者在应用程序运行时更改源代码,并立即看到效果的激怒关键功能。换句话说,开源就是社区删除在开发人员写代码过程中,获得修改代码的微软即时反馈,从而帮助软件开发人员提高开发效率。悄悄

来源于微软官网
此前,行功微软曾高调宣布将在 .NET 6 中加入 “热重载” 功能,但是微软又悄悄地从名为 dotnet watch 的工具中删除 2500 行 “热重载” 功能的源代码。
10 月 20 日,微软项目经理 Dmitry Lyalin 发布一篇博文表示:“我们决定从即将发布的 .NET 6 GA 开始,现在只通过 Visual Studio 2022 启用热重新加载功能。”

来源于微软官网
就是这个消息,瞬间引爆了整个 .NET 社区。云服务器对于不熟悉开源社区的朋友来说,微软仅仅删除一个 “热重载” 功能,.NET 社区开发者为什么这么激动呢?
实际上,微软删除 .NET 6.0 的热重载功能是将其限制在自家产品 Visual Studio 开发平台上,拒绝开放给其它平台使用,微软此举已经违背了开源社区的 “发展初心”。
准确来说,微软已经将开源 .NET SDK 故意削弱了,使得微软自家免费的商业产品 Visual Studio 比竞争对手更具吸引力,包括微软赞助的 Visual Studio Code。最重要的是,此次更改微软是在没有与 .NET 社区协商的情况下完成的。
为此,人们联想到之前关于 .NET 基金会的 “数次危机”。此前一位卸任的董事会成员就对 .NET 基金会的角色提出了质疑,询问它是否仅代表微软的意愿行事、还是b2b信息网致力于帮助培养和促进一个健康的社区?
据了解,微软此次不仅将 .NET 6.0 的热重载功能删除,目前 macOS 和 Linux 开发人员那里也删除了该选项,内部人士称:“现在这个功能真的成为了 Windows 和 Visual Studio 开发平台独有的工具了”。
微软道歉:恢复 .NET SDK 热重载功能
由于 .NET 社区强烈谴责微软从 .NET SDK 中删除了热重载(Hot Reload)功能,微软不得不出来道歉,并宣布恢复 .NET 中的热重载功能。

恢复热重载功能 GitHub 截图
10 月 23 日,微软官方发布博文道歉:“首先,也是最重要的,我们要道歉。我们在执行我们的决定时犯了一个错误,花了比预期更长的时间来回复社区。我们已经批准了重新启用这一代码路径的拉取请求,它将在 .NET 6 SDK 的 GA 构建中出现。”

来源于微软官网
微软方面解释称,因为于绝大多数 .NET 开发人员都在使用 Visual Studio,他们为了确保 VS 为 .NET 6 提供最佳体验,所以他们选择首先将 Hot Reload 引入 VS 2022。
同时微软强调是无意中删除了这段源代码,而不是站群服务器不调用该代码路径。在文章的最后,微软再次进行了道歉,并表示:他们的愿望是为 .NET 创造一个开放和充满活力的生态系统。和许多公司一样,他们也正在学习如何平衡 OSS 社区的需求和作为 .NET 的企业赞助商之间的关系。

图片来源于微软官网
网友对此看法不一
即便微软决定恢复 .NET SDK 中热重载(Hot Reload)功能,还是引起了众多网友的议论。
@Georg Dangl 网友认为:这是开源理念的一个很好的证明 —— 问题得到了承认,反馈得到了迅速解决。
@Cory Crooks 网友并不认可微软官方说法。他们认为 “微软无意中删除了源代码,而不是不调用该代码路径”。这是否意味着代码将在那里,现在仍然无法从命令行使用?
@ Allan Lindqvist 网友认为这篇博文听起来是个好消息,但并没有说明如何恢复热重载(Hot Reload)功能,也没有解释微软是否试图以牺牲其他平台为代价,促进 Visual Studio 成为 .net 生态系统中的 “一等公民” 等问题。
相关文章
华为台灯电脑支架安装教程(一步步教您如何安装华为台灯电脑支架)
摘要:华为台灯电脑支架是一款方便实用的产品,通过安装在台灯上,可以将电脑屏幕提升到合适的高度,舒适地进行办公或学习。本文将为您详细介绍如何正确安装华为台灯电脑支架,让您轻松享受高效的办公...2025-11-04
本文已经原作者授权你可能会经常听到一些人在抱怨 JS 很奇怪,有时甚至是一文不值。之所以有这种想法,是因为他们不太了解 JS 背后的运作方式。我也觉得 JS 在某些情况处理方式与其它语言不太一样,但这2025-11-04
对于编程语言初学者一个很大的障碍就是无法理解每一段代码的含义是什么?执行这段代码会发生什么?理解执行每段代码会发生什么至关重要,这一点对于刷过LeetCode题目的同学应该感触更加强烈。实现一个排序、2025-11-04
Java IDE工具提供了多种用户独特需求和个人偏好来创建编程环境的方法。Java框架能够简化程序员的工作。这些框架被设计和开发用于在任何服务器环境上运行任意应用程序;包括解析注释、扫描描述符、加载配2025-11-04- 摘要:在计算机使用中,有时我们需要安装两个不同的操作系统,以满足不同的需求。而使用U盘来装双系统是一种简单方便的方法,本文将为大家详细介绍如何使用U盘装双系统。文章目录:1....2025-11-04
 
张得红:互联网+制造,发现工业4.0时代的微蓝海|V课堂第7期
2016年1月7日,江苏省企业信息化协会微信总群迎来了第7期“智造+V课堂”。为促进江苏省企业信息化水平快速发展,“智造+V课堂”特邀请世界500强CIO大咖为协会会员做精彩的分享和互动交流。嘉宾介绍2025-11-04

最新评论