微軟回應(yīng)刪除.NET熱重載功能:通過(guò)CLI支持Hot Reload熱重載
微軟近日激怒了開(kāi)源.NET社區(qū),起因是它刪除了開(kāi)源.NET的一項(xiàng)旗艦功能,以提升Visual Studio 的吸引力,尤其是針對(duì)與Visual Studio頗有淵源的跨平臺(tái)源代碼編輯器Visual Studio Code。 好消息是微軟聽(tīng)取了社區(qū)的聲音,恢復(fù)了通過(guò)CLI支持HotReload功能。
今天早上.NET團(tuán)隊(duì)負(fù)責(zé)人Scott Hunter在.NET官方博客上發(fā)布了一篇文章,具體參見(jiàn) https://devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli/,文章提到了的愿景是為.NET創(chuàng)建一個(gè)開(kāi)放和充滿(mǎn)活力的生態(tài)系統(tǒng)。與許多公司一樣,微軟正在學(xué)習(xí)平衡 OSS 社區(qū)的需求,并成為.NET 的企業(yè)贊助商。有時(shí)候微軟做對(duì)了。當(dāng)微軟做錯(cuò)了,微軟能做的最好的事情就是從錯(cuò)誤中吸取教訓(xùn),更好地向前邁進(jìn)。
同時(shí)也透露了一個(gè)問(wèn)題,微軟還沒(méi)有學(xué)會(huì),如何跟一個(gè)強(qiáng)大的開(kāi)源社區(qū)相處,這非常像美國(guó)還沒(méi)有學(xué)會(huì),如何跟一個(gè)強(qiáng)大的中國(guó)相處一樣。 開(kāi)源路上的挫折可能更快加速微軟同開(kāi)源社區(qū)相處,我相信微軟是真的愛(ài)開(kāi)源。

最近備受爭(zhēng)議的有兩個(gè)關(guān)鍵部分,一是GitHub上開(kāi)源.NET SDK代碼存儲(chǔ)庫(kù)中的這個(gè)合并請(qǐng)(https://github.com/dotnet/sdk/pull/22217),即從一款名為dotnet watch的工具中刪除了用于實(shí)現(xiàn)Hot Reload(熱重載)這項(xiàng)功能的2500行代碼,今天早上已經(jīng)通過(guò)這個(gè)合并恢復(fù)了(https://github.com/dotnet/sdk/pull/22262);二是這篇博文,微軟首席項(xiàng)目經(jīng)理Dmitry Lyalin在博文中透露:“我們已決定,從即將發(fā)布的.NET 6正式版開(kāi)始,我們將僅通過(guò)Visual Studio 2022啟用熱重載功能。”,早上Scott Hunter已經(jīng)宣布恢復(fù)這項(xiàng)功能。

(https://devblogs.microsoft.com/dotnet/update-on-net-hot-reload-progress-and-visual-studio-2022-highlights/)
熱重載是一項(xiàng)功能,開(kāi)發(fā)人員可以利用該功能在應(yīng)用程序運(yùn)行時(shí)修改源代碼、實(shí)施更改,并在運(yùn)行中的應(yīng)用程序中查看結(jié)果。該功能之所以可以加快開(kāi)發(fā)過(guò)程,是由于它比重新構(gòu)建代碼、停止應(yīng)用程序、實(shí)施更改后再次啟動(dòng)應(yīng)用程序要快。
Lyalin當(dāng)初在介紹重加載功能時(shí)表示,開(kāi)發(fā)人員可以通過(guò)“Visual Studio 2019版本16.11(預(yù)覽版1)中的.NET熱重載體驗(yàn)和.NET 6(預(yù)覽版4)中的dotnet watch命令行工具來(lái)使用它”。該功能出現(xiàn)在.NET 6 RC2中,該版本擁有上線(go-live)許可證,已于10月12日發(fā)布,趕在計(jì)劃于11月9日召開(kāi)的.NET Conf 2021線上大會(huì)上發(fā)布.NET 6之前發(fā)布。
刪除熱重載在這個(gè)后期階段令人驚訝,令廣大.NET開(kāi)發(fā)人員頗為驚愕和失望,以至于提交了阻止這一變更的合并請(qǐng)求,并迅速獲得了支持。一名開(kāi)發(fā)人員說(shuō):“這是一場(chǎng)真正決定.NET是不是真是一個(gè)OSS[開(kāi)源軟件項(xiàng)目]的公關(guān)活動(dòng)。”

為什么這對(duì)我們所有人都很重要?
為什么這么重要?雖然熱重載是一項(xiàng)工具性質(zhì)的功能,但這一變更的含義在于,開(kāi)源.NET SDK被故意削弱功能,似乎只是為了使Visual Studio(這款商業(yè)產(chǎn)品附有功能縮減的免費(fèi)版)比競(jìng)爭(zhēng)對(duì)手更具吸引力,競(jìng)爭(zhēng)對(duì)手包括微軟贊助的Visual Studio Code。這次變更還是在未與開(kāi)發(fā)社區(qū)通氣的情況下進(jìn)行的。前陣子出現(xiàn)了一場(chǎng)危機(jī):微軟成立和贊助的獨(dú)立自由軟件組織.NET基金會(huì)面臨同一個(gè)問(wèn)題:微軟對(duì).NET作為開(kāi)源平臺(tái)是否真的很上心?這場(chǎng)危機(jī)后,開(kāi)發(fā)社區(qū)對(duì)此似乎見(jiàn)慣不怪。決定遏制熱重載的可用性也似乎讓外界頗感好奇。開(kāi)發(fā)工具對(duì)于像微軟這樣的平臺(tái)公司而言具有重要的戰(zhàn)略意義:簡(jiǎn)而言之,它吸引廣大程序員支持平臺(tái)。誰(shuí)能忘記微軟前首席執(zhí)行官Steve Ballmer及其在2000年微軟25周年慶?;顒?dòng)上吶喊的“開(kāi)發(fā)人員、開(kāi)發(fā)人員、開(kāi)發(fā)人員”?我們盡可一笑了之;然而,知名軟件行業(yè)分析公司Redmonk以“開(kāi)發(fā)者是新的掌權(quán)者這一觀點(diǎn)”作為謀生之道。
一款關(guān)鍵業(yè)務(wù)應(yīng)用程序可以促進(jìn)用戶(hù)在Azure上大筆投入,而微軟云是NET的自然目的地,正如谷歌云得益于這家廣告公司作為Kubernetes的發(fā)明者這個(gè)地位一樣。Visual Studio Code是免費(fèi)的,但也是微軟迄今在開(kāi)發(fā)人員社區(qū)最成功的產(chǎn)品,VS Code中強(qiáng)有力地支持.NET對(duì)微軟可能帶來(lái)的好處遠(yuǎn)遠(yuǎn)超過(guò)對(duì)Visual Studio銷(xiāo)售帶來(lái)的任何輕微影響。
另一名開(kāi)發(fā)人員說(shuō):“我是不是可以理解為這意味著在.NET 6預(yù)覽版中已經(jīng)與dotnet watch配合使用的熱重載功能現(xiàn)在被取消了?現(xiàn)在我可以創(chuàng)建一個(gè).NET控制臺(tái)應(yīng)用程序,使用dotnet watch運(yùn)行它,更改文件,并在不重啟應(yīng)用程序的情況下自動(dòng)重載文件。如果這項(xiàng)功能取消......無(wú)非是為了錢(qián)。”另一條評(píng)論問(wèn)道:“如果你肆意遏制開(kāi)發(fā)人員在Windows之外的平臺(tái)上的體驗(yàn),又怎能指望.NET會(huì)成為一種用于跨平臺(tái)開(kāi)發(fā)的有效解決方案?”
讓一項(xiàng)關(guān)鍵的工具功能成為Visual Studio的獨(dú)享功能存在另一個(gè)問(wèn)題,那就是它剝奪了 macOS和Linux開(kāi)發(fā)人員的這個(gè)選項(xiàng),因?yàn)閂isual Studio僅面向Windows。微軟表示還計(jì)劃為 Visual Studio Mac推出這項(xiàng)功能,但與VS Code相比,其用途小得多。從社區(qū)的炮轟來(lái)看,實(shí)際情況并不是微軟想象的那樣,有大量的開(kāi)發(fā)人員工作流依賴(lài)于.NET CLI的功能,還好微軟聽(tīng)取了社區(qū)的聲音,及時(shí)改正錯(cuò)誤。
參考資料:
https://www.theregister.com/2021/10/22/microsoft_net_hot_reload_visual_studio/
https://github.com/dotnet-foundation/Home/discussions/63
https://devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli/
相關(guān)文章

技嘉AORUS電競(jìng)裝備助陣PCL春季賽,雙配置方案護(hù)航巔峰對(duì)決
2026年P(guān)CL絕地求生冠軍聯(lián)賽春季賽正在如火如荼的進(jìn)行,技嘉作為全球高端電競(jìng)硬件品牌之一,為賽事提供專(zhuān)業(yè)電競(jìng)裝備支持,助力選手發(fā)揮巔峰操作2026-04-24
百度地圖重磅發(fā)布Map Agent Plan:讓每一只"龍蝦"都能暢行物
近日,百度地圖Map Agent Plan發(fā)布,OpenClaw的爆火,讓無(wú)數(shù)人第一次真正觸摸到了AI Agent的終極生產(chǎn)力2026-04-22
中端WOLED 新標(biāo)桿 技嘉 GO27Q24G 全能電競(jìng)顯示器性?xún)r(jià)比拉滿(mǎn)
技嘉前不久發(fā)布的GO27Q24G電競(jìng)顯示器,它采用的是WOLED方案,并且使用了MLA+微透鏡陣列技術(shù),算是把游戲光影玩明白了2026-04-21
技嘉主板DUO X技術(shù)創(chuàng)風(fēng)冷內(nèi)存超頻紀(jì)錄:逼近13000MT/s,液氮不再是唯一
知名超頻玩家Saltycroissant創(chuàng)造了一項(xiàng)新的內(nèi)存超頻紀(jì)錄,盡管這一成績(jī)未能登頂榜首,但僅憑環(huán)境冷卻就能達(dá)成如此表現(xiàn),實(shí)在令人驚嘆2026-04-21
新上架|Winstep Xtreme 專(zhuān)業(yè)桌面美化增強(qiáng)套件,限時(shí)首發(fā)特惠中!
Winstep Xtreme不僅僅是一款桌面美化軟件,更是一套完整的桌面生產(chǎn)力系統(tǒng),無(wú)論是追求個(gè)性化桌面,還是希望提高工作效率,它都能滿(mǎn)足你的需求,現(xiàn)在Winstep Xtreme 已正式新2026-04-13
5款室內(nèi)設(shè)計(jì)AI實(shí)測(cè)橫評(píng)報(bào)告:EVAI第一
如果你只問(wèn)一句“室內(nèi)設(shè)計(jì)AI軟件哪個(gè)好”,本文將給你答案,本文樣本覆蓋 30 個(gè)真實(shí)任務(wù)、150 次基礎(chǔ)生成、62 次改稿復(fù)測(cè),包含住宅改造、商業(yè)空間、舊改翻新、軟裝提案、2026-03-30
TreeSize:德國(guó)老牌專(zhuān)業(yè)級(jí)電腦磁盤(pán)空間分析與清理工具
TreeSize 是一款強(qiáng)大的圖形化磁盤(pán)空間檢測(cè)分析管理工具,它可以幫助用戶(hù)分析、管理和清理各種存儲(chǔ)系統(tǒng),適合個(gè)人和企業(yè)用戶(hù),本文為大家?guī)?lái)了TreeSize 官方密鑰獲取方式,2026-01-22
XYplorer:Windows 文件資源管理的“瑞士軍刀”
XYplorer是一款強(qiáng)大而便捷的文件管理工具,不需要安裝,也不會(huì)改變您的系統(tǒng)或注冊(cè)表,您可以把它放在 U 盤(pán)里,隨時(shí)隨地使用,文件管理也能“隨身攜帶”,它不僅能快速搜索文2025-11-24
1Password 對(duì)比 Sticky Password:誰(shuí)才是密碼管理的終極選擇?
1Password和Sticky Password均為跨平臺(tái)密碼管理工具,但兩者在功能定位、安全特性及適用場(chǎng)景上存在差異,那么1Password和Sticky Password誰(shuí)更好用呢?本文就為大家?guī)?lái)1Pas2025-10-31
夸克PC版開(kāi)啟內(nèi)測(cè):主打夸克小工具和夸克網(wǎng)盤(pán)(附正式版下載)
夸克PC版在電腦中使用的瀏覽器工具,據(jù)悉該軟件已經(jīng)開(kāi)啟內(nèi)側(cè),主打夸克小工具和夸克網(wǎng)盤(pán),本站提供該軟件內(nèi)側(cè)地址2023-12-20










