微软道歉!“我们犯了一个错误”|现已恢复 .NET “热重载”功能,将在 .NET 6 SDK 的 GA 构建中出现

本文涉及的产品
全球加速 GA,每月750个小时 15CU
简介: 微软道歉!“我们犯了一个错误”|现已恢复 .NET “热重载”功能,将在 .NET 6 SDK 的 GA 构建中出现

上周早些时候,微软在即将发布的 .NET 6 中删除了一个关键的热重新加载功能,因而激怒了.NET 开源社区。刚刚,微软已撤销删除“热重新加载功能”的决定,并对此进行道歉:

“First and foremost, we want to apologize. We made a mistake in executing our decision and took longer than expected to respond back to the community.”

微软方面表示,首先最重要的一点,他们想道歉。他们在执行决定时犯了一个错误,花了比预期更长的时间来回应社区。

yy.png

所谓“热重载”(Hot Reload),是一个可以允许开发者在应用程序运行时更改源代码,并立即看到效果的关键功能。

image.jpeg

此前,微软曾选择将“热重新加载功能”限制在自家的 Visual Studio 2022 上,如此一来该功能就仅适用于 Windows,且成本很高。据 The Verge 报道,该计划是由微软开发部门总裁 Julia Liuson 决定删除的该功能,理由是作为“以业务为中心的举措”

在从 .NET SDK repo 中删除热重载(Hot Reload)功能的操作引发开源社区一片“抗议”声之后,微软现已撤销了从即将发布的.NET6版本中删除该关键功能的计划。由于微软删除该重要功能而受到强烈的反对,因此微软也正式向开源社区致歉。

微软在博客中解释称:“随着.NET 6 版本和 Visual Studio 2022 的发布时间越来越近,我们选择首先将重点放在 VS2022 的热重新加载上。我们在执行该计划时犯了一个错误。”“我们无意中删除了源代码,而不是不调用该代码路径。我们低估了依赖该功能的开发人员的数量”。

在博客文章的最后,微软再次表示道歉称:“我们的愿望是为 .NET 创造一个开放和充满活力的生态系统。和许多公司一样,我们也正在学习在考虑 OSS 社区的需求和作为 .NET 的企业赞助商之间进行平衡。”

“有时,我们无法做到这一点。当我们没有做到的时候,我们能做的就是从我们的错误中学习,并更好地向前发展。感谢大家多年来的所有反馈和贡献。我们致力于在开放中发展 .NET,并期待着继续与社区密切合作。”

刚刚,微软方面已经“approved the pull request”(批准了拉动请求)以重新启用此代码路径,该代码路径将包含在.NET 6 SDK 的通用版本中。

尽管微软公司已经撤回了该计划,且会是.NET社区喜闻乐见的结果,但一些外媒在评论文章中玄外之意是“该事件依旧给不少圈内开发者心里留下了一些‘阴影

’”。

当然现在这件事情结果是好的,相信也正如微软在博文中所说,在不断探索和自我更新的过程中,未来将继续与社区密切合作,为创造开放和充满活力的生态系统而不断前进。

windows

相关文章
|
2月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
118 10
|
1天前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
19 5
|
1天前
|
消息中间件 开发框架 .NET
.NET 8 强大功能 IHostedService 与 BackgroundService 实战
【11月更文挑战第7天】本文介绍了 ASP.NET Core 中的 `IHostedService` 和 `BackgroundService` 接口及其用途。`IHostedService` 定义了 `StartAsync` 和 `StopAsync` 方法,用于在应用启动和停止时执行异步操作,适用于资源初始化和清理等任务。`BackgroundService` 是 `IHostedService` 的抽象实现,简化了后台任务的编写,通过 `ExecuteAsync` 方法实现长时间运行的任务逻辑。文章还提供了创建和注册这两个服务的实战步骤,帮助开发者在实际项目中应用这些功能。
|
15天前
.NET 4.0下实现.NET4.5的Task类相似功能组件
【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。
|
16天前
|
缓存 安全 开发工具
记 Kylin 麒麟系统安全中心拦截导致 dotnet sdk 找不到 OpenSsl 构建失败
【10月更文挑战第28天】当Kylin麒麟系统安全中心导致.NET SDK找不到OpenSsl并构建失败时,可从检查安全中心拦截规则、确认OpenSsl安装和配置、验证.NET SDK配置及重新构建项目四个方面入手解决。包括查看拦截记录、调整拦截策略、检查OpenSsl安装与库文件路径、配置.NET SDK依赖及环境变量等步骤。
|
28天前
|
开发框架 .NET 开发工具
.NET 9 中 LINQ 新增的功能
.NET 9 中 LINQ 新增的功能
|
3月前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
52 5
|
3月前
|
机器学习/深度学习 人工智能 算法
【悬念揭秘】ML.NET:那片未被探索的机器学习宝藏,如何让普通开发者一夜变身AI高手?——从零开始,揭秘构建智能应用的神秘旅程!
【8月更文挑战第28天】ML.NET 是微软推出的一款开源机器学习框架,专为希望在本地应用中嵌入智能功能的 .NET 开发者设计。无需深厚的数据科学背景,即可实现预测分析、推荐系统和图像识别等功能。它支持多种数据源,提供丰富的预处理工具和多样化的机器学习算法,简化了数据处理和模型训练流程。
53 1
|
3月前
|
存储 缓存 安全
.NET 在金融行业的应用:高并发交易系统的构建与优化之路
【8月更文挑战第28天】在金融行业,交易系统需具备高并发处理、低延迟及高稳定性和安全性。利用.NET构建此类系统时,可采用异步编程提升并发能力,优化数据库访问以降低延迟,使用缓存减少数据库访问频率,借助分布式事务确保数据一致性,并加强安全性措施。通过综合优化,满足金融行业的严苛要求。
48 1
|
3月前
|
大数据 开发工具 开发者
从零到英雄:.NET核心技术带你踏上编程之旅,构建首个应用,开启你的数字世界探险!
【8月更文挑战第28天】本文带领读者从零开始,使用强大的.NET平台搭建首个控制台应用。无论你是新手还是希望扩展技能的开发者,都能通过本文逐步掌握.NET的核心技术。从环境搭建到创建项目,再到编写和运行代码,详细步骤助你轻松上手。通过计算两数之和的小项目,你不仅能快速入门,还能为未来开发更复杂的应用奠定基础。希望本文为你的.NET学习之旅开启新篇章!
33 1