大家好,經過多個月的迭代,.NET 6正式版如期和大家見面了!你安裝好了嗎?還是等等黨?希望看完這篇文章你會對.NET 6有更多了解,
自2014年11月12日宣布開源后,.NET就成為了一個跨平臺、面向多場景的技術,換句話說,你可以在傳統的Windows上安裝.NET,也可以在Linux,macOS下安裝.NET并進行云原生、桌面、移動應用、大資料、機器學習、游戲、物聯網的開發,這次更新也圍繞這些場景,為不同行業進行賦能,

.NET 6是一個LTS版本,意味著你可以穩定地使用外,可以得到安全和補丁更新,根據.NET 官網上的資料,.NET 6在2023年11月都會得到長期維護,個位請安心使用,

如果你還沒有/準備安裝.NET 6,請輸入以下地址.NET Downloads (Linux, macOS, and Windows) 下載或手機掃描以下二維碼獲取更多資訊

.NET6 有不少更新,針對不同應用場景都有很多的亮點,下面進行一些歸納:
1. Minimal API
Minimal API 是構建 HTTP 服務的另一種方法, 在.NET 6 通過 web 模板創建的專案都會使用Minimal API ,這里我得說明一點Minimal API 不會取代大家熟悉的MVC框架, 如果你的應用是希望構建API,建議使用web模板的方式去構建, 但如果你需要更多與ASP.NET頁面相關的東西建議還是使用MVC模板,
dotnet new web -o webapidemo
看看默認Program.cs程式結構
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
你可以快速用四行代碼,完成一個API功能,當然你可以基于你的需要去添加MVC模塊,驗證模塊等,這就看你專案的需要了,
如果你像關注更多Minimal API ,請點擊以下地址Minimal APIs overview | Microsoft Docs或手機請掃描以下二維碼獲取更多資訊

2. 熱更新
在之前發布封版前,熱更新成為了一個話題,微軟作為一個商業公司能夠針對社區的要求為.NET 6 保留了社區所需是一個贊,對于微軟和開源社區接觸也是一個好事,
我們先來認識下熱更新,最早期熱更新是一個針對移動應用特別是iOS應用更新最常見的方式,不少開發者通過動態下發代碼,它可以在不發布新版本的情況下,修復 BUG 和發布功能,讓開發者得以繞開蘋果的審核機制,避免長時間的審核等待以及多次被拒造成的成本,我記得.NET應用熱更新場景也是在Xamarin下,慢慢地有大家就希望如果代碼撰寫成能實作熱更新,就減少編譯的時間,即所見即所得,
在.NET 6 你可以通過Windows 下的Visual Studio 2022 實作,也可以通過CLI方式實作
通過命令列執行相關的HotReload 非常簡單,你只需要在對應專案中執行一下命令就可以為你的Web應用實作HotReload了
dotnet watch run
當然你也可以通過一下命令停止HotReload的功能
dotnet watch run --no-hot-reload

如果你像關注更多.NET CLI HotReload ,請點擊以下地址 .NET Hot Reload Support via CLI - .NET Blog或手機請掃描

3. MAUI
關于MAUI,我對它的感情是非場深,從早期的monotouch到Xamarin,再到現在的MAUI,有人會覺得微軟放棄了Xamarin,但是我覺得完全并入到.NET 6是微軟Xamarin重視的表現,我記得在7月Reactor的.NET Day討論過MAUI的架構,你會發現他是.NET 6最重要的一環,、

你直接可以通過命令列構建你的MAUI專案
dotnet new maui -o mauidemo
從不少資料上你可以了解到MAUI對Xamarin的控制元件做了重新的封裝,如何更高效能,但我想和大家回顧下當時MAUI發布就有一個令我喜歡的功能在Visual Studio Code上Debug MAUI,這得益于新的專案結構,但更重要是它終于讓MAUI的開發更加極客了, 但現在MAUI的正式版還沒有release,但我在Github上找到一個類似的專案可以給大家先體驗一把(https://github.com/Clancey/vscode-comet)
如果你像關注更多MAUI ,請點擊以下地址.NET 多平臺應用程式 UI 檔案 - .NET MAUI | Microsoft Docs或手機請掃描以下二維碼獲取更多資訊

4. 關于workload
隨著.NET在應用場景的增加,可能不同的用戶需要的一些支持就不相同,例如我專注于MAUI的應用,這個時候我就需要iOS,macOS,Android的支持,但默認情況下是沒有做相關的SDK添加的,因為如果全部場景的功能都合并到SDK,就變成一個巨物了,從編譯到部署都是非常麻煩的,.NET團隊致力在維護SDK的小而精,針對場景不同在.NET 6中增加了workload去為不同場景做量身定制,
當我通過 dotnet new maui 的時候,在默認情況下是沒有new maui的template的,而且也不會含有相關的一些SDK,這個時候系統會教你通過查找的方式去確認是否有官方或者地方的template

通過命令列執行一下操作
dotnet workload install maui
可以把MAUI所需要的SDK安裝起來,并添加好基于dotnet new maui的模板,真的非常方便和人性化,這樣可以較少.NET SDK一些不必要的安裝,太棒了,

你可以通過執行以下陳述句查看相關的workload有哪些
dotnet workload search

現在的場景有針對MAUI和Blazor的場景希望日后會添加更多的場景,滿足更多的需要,
如果你像關注更多dotnet workload ,請點擊以下地址dotnet workload install 命令 - .NET CLI | Microsoft Docs或手機請掃描以下二維碼獲取更多資訊

5 關于機器學習
我這幾年投入到機器學習的時間非常多,我也致力去為.NET開發人員部署帶來很多機器學習的知識.提到.NET 下的機器學習,我相信很多人都已經認識ML.NET了,但我一直在推薦的是開源TensorFlow.NET(https://github.com/SciSharp/TensorFlow.NET),這個專案經過幾年發展現在已經為.NET在深度學習領域提供了很好的解決方案,這次通過.NET 6,微軟帶來了更多的一個場景TorchSharp(https://github.com/dotnet/TorchSharp),這是在dotnet開源下的一個專案,它參照的就是TensorFlow.NET的方式,通過系結PyTorch底層C++ API實作了.NET原生的PyTorch框架, 我相信以后大家可以在ML.NET下在深度學習的場景可以像Keras一樣呼叫不同深度學習框架,
如果你像關注更多.NET機器學習知識 ,請點擊以下地址ML.NET 檔案 - 教程和 API 參考 | Microsoft Docs或手機請掃描以下二維碼獲取更多資訊

.NET 6還有很多更新,包括在Blazor,在性能,在C# 10.0等,我這里就不一一和大家介紹了,大家感興趣可以點擊以下地址Announcing .NET 6 - The Fastest .NET Yet - .NET Blog或用手機掃描以下二維碼獲取更多資訊

最后來個調查
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/355232.html
標籤:AI
上一篇:計算機基礎實訓教育
下一篇:滲透測驗|網路安全常用靶場
