微軟回應(yīng)刪除.NET熱重載功能:通過CLI支持Hot Reload熱重載

微軟近日激怒了開源.NET社區(qū),起因是它刪除了開源.NET的一項(xiàng)旗艦功能,以提升Visual Studio 的吸引力,尤其是針對與Visual Studio頗有淵源的跨平臺源代碼編輯器Visual Studio Code。 好消息是微軟聽取了社區(qū)的聲音,恢復(fù)了通過CLI支持HotReload功能。
今天早上.NET團(tuán)隊負(fù)責(zé)人Scott Hunter在.NET官方博客上發(fā)布了一篇文章,具體參見 https://devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli/,文章提到了的愿景是為.NET創(chuàng)建一個開放和充滿活力的生態(tài)系統(tǒng)。與許多公司一樣,微軟正在學(xué)習(xí)平衡 OSS 社區(qū)的需求,并成為.NET 的企業(yè)贊助商。有時候微軟做對了。當(dāng)微軟做錯了,微軟能做的最好的事情就是從錯誤中吸取教訓(xùn),更好地向前邁進(jìn)。
同時也透露了一個問題,微軟還沒有學(xué)會,如何跟一個強(qiáng)大的開源社區(qū)相處,這非常像美國還沒有學(xué)會,如何跟一個強(qiáng)大的中國相處一樣。 開源路上的挫折可能更快加速微軟同開源社區(qū)相處,我相信微軟是真的愛開源。
最近備受爭議的有兩個關(guān)鍵部分,一是GitHub上開源.NET SDK代碼存儲庫中的這個合并請(https://github.com/dotnet/sdk/pull/22217),即從一款名為dotnet watch的工具中刪除了用于實(shí)現(xiàn)Hot Reload(熱重載)這項(xiàng)功能的2500行代碼,今天早上已經(jīng)通過這個合并恢復(fù)了(https://github.com/dotnet/sdk/pull/22262);二是這篇博文,微軟首席項(xiàng)目經(jīng)理Dmitry Lyalin在博文中透露:“我們已決定,從即將發(fā)布的.NET 6正式版開始,我們將僅通過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)功能,開發(fā)人員可以利用該功能在應(yīng)用程序運(yùn)行時修改源代碼、實(shí)施更改,并在運(yùn)行中的應(yīng)用程序中查看結(jié)果。該功能之所以可以加快開發(fā)過程,是由于它比重新構(gòu)建代碼、停止應(yīng)用程序、實(shí)施更改后再次啟動應(yīng)用程序要快。
Lyalin當(dāng)初在介紹重加載功能時表示,開發(fā)人員可以通過“Visual Studio 2019版本16.11(預(yù)覽版1)中的.NET熱重載體驗(yàn)和.NET 6(預(yù)覽版4)中的dotnet watch命令行工具來使用它”。該功能出現(xiàn)在.NET 6 RC2中,該版本擁有上線(go-live)許可證,已于10月12日發(fā)布,趕在計劃于11月9日召開的.NET Conf 2021線上大會上發(fā)布.NET 6之前發(fā)布。
刪除熱重載在這個后期階段令人驚訝,令廣大.NET開發(fā)人員頗為驚愕和失望,以至于提交了阻止這一變更的合并請求,并迅速獲得了支持。一名開發(fā)人員說:“這是一場真正決定.NET是不是真是一個OSS[開源軟件項(xiàng)目]的公關(guān)活動。”
為什么這對我們所有人都很重要?
為什么這么重要?雖然熱重載是一項(xiàng)工具性質(zhì)的功能,但這一變更的含義在于,開源.NET SDK被故意削弱功能,似乎只是為了使Visual Studio(這款商業(yè)產(chǎn)品附有功能縮減的免費(fèi)版)比競爭對手更具吸引力,競爭對手包括微軟贊助的Visual Studio Code。這次變更還是在未與開發(fā)社區(qū)通氣的情況下進(jìn)行的。前陣子出現(xiàn)了一場危機(jī):微軟成立和贊助的獨(dú)立自由軟件組織.NET基金會面臨同一個問題:微軟對.NET作為開源平臺是否真的很上心?這場危機(jī)后,開發(fā)社區(qū)對此似乎見慣不怪。決定遏制熱重載的可用性也似乎讓外界頗感好奇。開發(fā)工具對于像微軟這樣的平臺公司而言具有重要的戰(zhàn)略意義:簡而言之,它吸引廣大程序員支持平臺。誰能忘記微軟前首席執(zhí)行官Steve Ballmer及其在2000年微軟25周年慶?;顒由蠀群暗?ldquo;開發(fā)人員、開發(fā)人員、開發(fā)人員”?我們盡可一笑了之;然而,知名軟件行業(yè)分析公司Redmonk以“開發(fā)者是新的掌權(quán)者這一觀點(diǎn)”作為謀生之道。
一款關(guān)鍵業(yè)務(wù)應(yīng)用程序可以促進(jìn)用戶在Azure上大筆投入,而微軟云是NET的自然目的地,正如谷歌云得益于這家廣告公司作為Kubernetes的發(fā)明者這個地位一樣。Visual Studio Code是免費(fèi)的,但也是微軟迄今在開發(fā)人員社區(qū)最成功的產(chǎn)品,VS Code中強(qiáng)有力地支持.NET對微軟可能帶來的好處遠(yuǎn)遠(yuǎn)超過對Visual Studio銷售帶來的任何輕微影響。
另一名開發(fā)人員說:“我是不是可以理解為這意味著在.NET 6預(yù)覽版中已經(jīng)與dotnet watch配合使用的熱重載功能現(xiàn)在被取消了?現(xiàn)在我可以創(chuàng)建一個.NET控制臺應(yīng)用程序,使用dotnet watch運(yùn)行它,更改文件,并在不重啟應(yīng)用程序的情況下自動重載文件。如果這項(xiàng)功能取消......無非是為了錢。”另一條評論問道:“如果你肆意遏制開發(fā)人員在Windows之外的平臺上的體驗(yàn),又怎能指望.NET會成為一種用于跨平臺開發(fā)的有效解決方案?”
讓一項(xiàng)關(guān)鍵的工具功能成為Visual Studio的獨(dú)享功能存在另一個問題,那就是它剝奪了 macOS和Linux開發(fā)人員的這個選項(xiàng),因?yàn)閂isual Studio僅面向Windows。微軟表示還計劃為 Visual Studio Mac推出這項(xiàng)功能,但與VS Code相比,其用途小得多。從社區(qū)的炮轟來看,實(shí)際情況并不是微軟想象的那樣,有大量的開發(fā)人員工作流依賴于.NET CLI的功能,還好微軟聽取了社區(qū)的聲音,及時改正錯誤。
參考資料:
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)文章
夸克PC版開啟內(nèi)測:主打夸克小工具和夸克網(wǎng)盤(附正式版下載)
夸克PC版在電腦中使用的瀏覽器工具,據(jù)悉該軟件已經(jīng)開啟內(nèi)側(cè),主打夸克小工具和夸克網(wǎng)盤,本站提供該軟件內(nèi)側(cè)地址2023-12-20Visual Studio微軟集成開發(fā)環(huán)境 2022 17.5 正式發(fā)布(附下載)
Visual Studio微軟集成開發(fā)環(huán)境 2022 17.5 正式發(fā)布,引入了多項(xiàng)新功能和改進(jìn),旨在提高跨不同平臺和語言的開發(fā)人員的生產(chǎn)力、性能和協(xié)作2023-02-22微軟再次提醒:IE 瀏覽器將在今年 6 月退役,請使用 Edge
IE 瀏覽器將在今年“退役”,微軟想確保每個人都知道這件事。該公司在 Windows 消息中心發(fā)布了一個新的警告,專門提醒用戶 IE 瀏覽器將于今年 6 月退役2022-03-18IntelliJ IDEA 開發(fā)商 JetBrains 宣布:無限期暫停在俄羅斯和白俄羅斯
IntelliJ IDEA 開發(fā)商 JetBrains 宣布:無限期暫停在俄羅斯和白俄羅斯的銷售,本文為大家?guī)砹嗽敿?xì)介紹,一起看看吧2022-03-14什么是個人經(jīng)營收款碼? 個人經(jīng)營收款碼最全介紹
什么是個人經(jīng)營收款碼?3月1日開始,支付寶和微信都可以使用個人經(jīng)營收款碼進(jìn)行收款,那么什么是個人經(jīng)營收款碼呢?下面我們就來看看個人經(jīng)營收款碼最全介紹2022-02-24個人收款碼可以一直使用嗎? 官方:現(xiàn)行“個人收款碼”不停用
個人收款碼可以一直使用嗎?現(xiàn)在微信支付寶收款很常見,很多人都關(guān)心,微信支付波啊個人收款碼可以一直用嗎,現(xiàn)在官方給出了回復(fù),現(xiàn)行“個人收款碼”不停用,詳細(xì)請看下文2022-02-23網(wǎng)頁版 B 站導(dǎo)致 CPU 占用高的原因分析與解決方案
網(wǎng)頁版 B 站導(dǎo)致 CPU 占用高怎么辦?本文就為大家?guī)砹司W(wǎng)頁版 B 站導(dǎo)致 CPU 占用高原因分析與解決方案,需要的朋友一起看看吧2022-02-09微軟回應(yīng)刪除.NET熱重載功能:通過CLI支持Hot Reload熱重載
通過Hot Reload熱重加載,可以在應(yīng)用運(yùn)行期間(在調(diào)試器下)編輯代碼,并且代碼更改將自動反映在應(yīng)用中,而不會丟失應(yīng)用狀態(tài)。換句話說,應(yīng)用程序不需要重新啟動。2022-01-06解除限速,阿里云盤、天翼云盤、360 安全網(wǎng)盤、和彩云、網(wǎng)易網(wǎng)盤等完成
據(jù)人民郵電報測試和致電了解,包括天翼云盤、和彩云、阿里云盤、360 安全網(wǎng)盤、網(wǎng)易網(wǎng)盤在內(nèi)的 5 家企業(yè)明確表示已按照工信部的要求完成無差別速率服務(wù)的改造,網(wǎng)頁端、移2021-12-22百度網(wǎng)盤企業(yè)版正式上線 開通企業(yè)套餐可享受超20項(xiàng)特權(quán)
百度網(wǎng)盤相信大家都是使用過的,就在最近百度網(wǎng)盤企業(yè)版正式上線了。餐收費(fèi)3899元/年起,咱們就來仔細(xì)看看吧2021-09-29