自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

開發(fā) 前端
今天微軟開發(fā)團隊宣布發(fā)布.NET 5.0正式版。主要更新包括C#9和F#5在內(nèi)的一系列新功能和改進。

今日是一年一度光棍節(jié),首先祝各位碼農(nóng)朋友們節(jié)日快樂,在關(guān)注技術(shù)的同時也要同時關(guān)注另一半,爭取早日脫單,今天不過節(jié),只專心于技術(shù)!

[[351736]]

今天微軟開發(fā)團隊宣布發(fā)布.NET 5.0正式版。主要更新包括C#9和F#5在內(nèi)的一系列新功能和改進。同期發(fā)布了ASP.NET Core,EF Core,C#9和F#5??梢栽诠俜较螺d頁面下載跨平臺包括Windows,macOS和Linux和跨處理架構(gòu)包括x86,x64,Arm32,Arm64。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

Windows Visual Studio用戶,需要Visual Studio 16.8或更高版本才能支持.NET 5.0,在macOS用戶,需要 Visual Studio for Mac的最新版本。VS Code的C#插件已經(jīng)完全支持.NET 5.0和C#9。

一、.NET 5.0亮點

帶來了大量的功能改進,其中最亮眼的是:

  • .NET 5.0已通過在dot.net和Bing()上托管,進行了數(shù)月來的測試。性能和穩(wěn)定性上有很大的提高。
  • C#9和F#5 帶了新的語言改進,例如C#9的Top-level編程和記錄,F(xiàn)#5提供了交互式編程,并提高了.NET上的功能性編程的性能。
  • .NET庫方面增強了Json序列化,正則表達式和HTTP(HTTP 1.1,HTTP/2)的性能。
  • 由于改進了GC,分層編譯和其他方面,P95延遲有所減少。
  • 通過ClickOnce客戶端應(yīng)用程序發(fā)布,單文件應(yīng)用程序,減小的容器映像大小以及添加的Server Core容器映像,應(yīng)用程序部署選項更好。
  • Windows Arm64和WebAssembly擴展了平臺范圍。

1. 跨平臺和Microsoft支持

.NET 5.0有一個和.NET 3.1幾乎相同的平臺支持矩陣核心,適用于Windows,MacOS和Linux操作系統(tǒng)。如果操作系統(tǒng)支持使用.NET Core 3.1,則大多數(shù)情況下應(yīng)該可以升級使用.NET 5.0。.NET 5.0最重要的新增功能是Windows Arm64。

.NET 5.0發(fā)布三個月后,會發(fā)布一個LTS版本.NET 6.0,.NET5.0技術(shù)支持會持續(xù)到2022年2月中。.NET6.0技術(shù)支持期為三年。

.NET 5.0是微軟第一個統(tǒng)一平臺愿景的實現(xiàn)版本,可以使用一組API,語言和工具來針對廣泛的應(yīng)用程序類型,包括移動,云,桌面和IoT。

實現(xiàn)這一愿景的第一步是整合.NET倉庫,其中包括很大一部分的Mono。為.NET運行庫和庫提供一個存儲庫是在各處交付相同產(chǎn)品的前提。它還有助于進行廣泛的更改,這些更改會影響運行時和庫,這些存儲庫以前具有回購邊界。有些人擔心大型回購交易將更難管理。事實并非如此。

在.NET 5.0版本中,Blazor是利用回購合并和.NET統(tǒng)一的最佳示例。Blazor WebAssembly的運行時和庫現(xiàn)在是從合并的dotnet /運行時庫中構(gòu)建的。服務(wù)器上的Blazor WebAssembly和Blazor使用完全相同的代碼。

2. 語言功能

作為.NET 5.0版本的一部分,C#9和F#5被包含在.NET 5.0 SDK中。Visual SDK也包含在5.0 SDK中。它不包括語言更改,但做了改進以支持.NET Core上的Visual Basic應(yīng)用程序框架。

3. Top-level編程

Top-level編程是C#9中新推出的功能,下面一個led燈控制的演示程序,是官方Top-level編程的示例:

  1. using System; 
  2. using System.Device.Gpio; 
  3. using System.Threading; 
  4.  
  5.  
  6. var pin = 18
  7. var lightTime = 1000
  8. var dimTime = 200
  9.  
  10.  
  11. Console.WriteLine($"Let's blink an LED!"); 
  12. using GpioController controller = new (); 
  13. controller.OpenPin(pin, PinMode.Output); 
  14. Console.WriteLine($"GPIO pin enabled for use: {pin}"); 
  15.  
  16.  
  17. // turn LED on and off 
  18. while (true) 
  19. Console.WriteLine($"Light for {lightTime}ms"); 
  20. controller.Write(pin, PinValue.High); 
  21. Thread.Sleep(lightTime); 
  22.  
  23.  
  24. Console.WriteLine($"Dim for {dimTime}ms"); 
  25. controller.Write(pin, PinValue.Low); 
  26. Thread.Sleep(dimTime); 

從示例中可以看到target-typed的使用以及new對controller變量的分配。GpioController類型在定義等式左側(cè)所定義。而類型是在右側(cè)推斷的。該新語法是得替代傳統(tǒng)的var方法。

通過定義方法并利用同一文件或其他文件中定義的類型,Top-level編程還可能更加復雜。

4. 邏輯和屬性模式

C#9包括對新模式的支持。下面的CCS811氣體傳感器程序是邏輯模式的示例:

  1. var threshChoice = Console.ReadKey(); 
  2. Console.WriteLine(); 
  3. if (threshChoice.KeyChar is 'Y' or 'y') 
  4. TestThresholdAndInterrupt(ccs811); 

另一個新模式是屬性模式。可以在Mycroft Information Access 6.0示例中看到幾個屬性檢查。在下面的代碼是從所拍攝的PN532 RFID和NFC讀取器示例:

  1. if (pollingType is not { Length: <=15 }) 
  2. return null; 

該代碼測試pollingType是否為null或包含>15個字節(jié)。用來作為返回之前要測試的兩個錯誤條件。測試條件可以寫:

  1. byte[]?nullpollingType is null or { Length: > 15 } 

另外兩種模式。第一個是邏輯圖形中Mcp25xxx CAN總線。

  1. public static byte GetRxBufferNumber(Address address) => address switch 
  2. >= Address.RxB0D0 and <Address.RxB0D7 => 0, 
  3. >= Address.RxB1D0 and <Address.RxB1D7 => 1, 
  4. _ => throw new ArgumentException(nameof(address), $"Invalid address value {address}."), 
  5. }; 

第二個是一個邏輯模式在壓電蜂鳴器控制器。

  1. if (element is not NoteElement noteElement) 
  2. // In case it's a pause element we have only just wait desired time. 
  3. Thread.Sleep(durationInMilliseconds); 
  4. else 
  5. var frequency = GetFrequency(noteElement.Note, noteElement.Octave); 
  6. _buzzer.PlayTone(frequency, (int)(durationInMilliseconds * 0.7)); 
  7. Thread.Sleep((int)(durationInMilliseconds * 0.3)); 

5. 記錄

C#9包括一種稱為記錄的新型類。與常規(guī)類相比,它具有許多優(yōu)點,其中一半與更簡潔的語法有關(guān)。在下面的記錄是Bh1745 RGB傳感器的示例:

  1. public record ChannelCompensationMultipliers(double Red, double Green, double Blue, double Clear); 

可以這樣給其賦值:

  1. ChannelCompensationMultipliers = new (2.2, 1.0, 1.8, 10.0); 

6. 可空斷言改進

.NET庫現(xiàn)在已完全支持可空斷言。如果啟用可空性,將從平臺上獲取更多類型信息。

大類通常在從構(gòu)造函數(shù)調(diào)用的幫助器方法中實例化對象成員。C#編譯器無法遵循對對象分配的調(diào)用流程。退出構(gòu)造函數(shù)時,它會認為該成員為null,并使用發(fā)出警告CS8618。MemberNotNull屬性可解決此問題。該屬性應(yīng)用于助手方法。然后,編譯器將看到設(shè)置了該值,并意識到該方法是從構(gòu)造函數(shù)中調(diào)用的。

下面是一個在BMxx80溫度傳感器中的示例:

  1. [MemberNotNull(nameof(_calibrationData))] 
  2. private void ReadCalibrationData() 
  3. switch (this) 
  4. case Bme280 _: 
  5. _calibrationData = new Bme280CalibrationData(); 
  6. _controlRegister = (byte)Bmx280Register.CTRL_MEAS; 
  7. break; 
  8. case Bmp280 _: 
  9. _calibrationData = new Bmp280CalibrationData(); 
  10. _controlRegister = (byte)Bmx280Register.CTRL_MEAS; 
  11. break; 
  12. case Bme680 _: 
  13. _calibrationData = new Bme680CalibrationData(); 
  14. _controlRegister = (byte)Bme680Register.CTRL_MEAS; 
  15. break; 
  16. default: 
  17. throw new Exception("Bmxx80 device not correctly configured. Could not find calibraton data."); 
  18.  
  19.  
  20. _calibrationData.ReadFromDevice(this); 

實際的代碼中使用了條件編譯。因為項目是多目標的,并且.NET 5.0+僅支持此屬性。使用該屬性可以跳過運行時檢查(在構(gòu)造函數(shù)中)。

7. 應(yīng)用部署

編寫或更新應(yīng)用程序后,需要對其進行以使用戶受益。這可能是到Web服務(wù)器,云服務(wù)或客戶端計算機的,并且可能是使用Azure DevOps或GitHub Actions之類的服務(wù)的CI/CD流的結(jié)果。

.NET 5.0,專注于改進單個文件應(yīng)用程序,減小docker多階段構(gòu)建的容器大小,并為使用.NET Core部署ClickOnce應(yīng)用程序提供更好的支持。

8. 容器

容器是最重要的云趨勢,.NET軟件堆棧的多個級別以多種方式對容器進行支持。首先是在基礎(chǔ)方面的支持,這越來越受到容器方案和部署容器化應(yīng)用程序的開發(fā)人員的影響。

為和容器協(xié)調(diào)器的合作變得更加容易。添加了OpenTelemetry支持,以便可以從應(yīng)用程序中捕獲分布式跟蹤和指標。dotnet-monitor是一個新工具,旨在作為從.NET進程訪問診斷信息的主要方法。特別是,已經(jīng)開始構(gòu)建dotnet-monitor的容器變體,可以將其用作應(yīng)用程序sidecar。還在構(gòu)建dotnet/tye,以提高微服務(wù)開發(fā)人員在開發(fā)和部署到Kubernetes環(huán)境中的生產(chǎn)率。

.NET運行時現(xiàn)在支持cgroup v2,預計它將在2020年以后成為與容器相關(guān)的重要API。Docker當前使用cgroup v1(.NET已經(jīng)支持)。相比之下,cgroup v2比cgroup v1更簡單,更高效,更安全。Linux發(fā)行版和容器運行時正在。一旦變得更常見,.NET 5.0將在cgroup v2環(huán)境中正常工作。

除了Nano Server,還將發(fā)布Windows Server Core鏡像。該鏡像支持以下組合:Windows Server 2019長期服務(wù)通道(LTSC)、. NET 5.0和x64。還有其他更改,以減小Windows Server Core鏡像的大小。

作為使用" .NET"作為產(chǎn)品名稱的一部分,現(xiàn)在將.NET Core 2.1、3.1和.NET 5.0鏡像發(fā)布到repos系列。同.NET Core 2.1和3.1一起發(fā)布,同時支持多版本。.NET 5.0鏡像將發(fā)布到新位置。請相應(yīng)地更新您的語句和腳本。

作為.NET 5.0的一部分,將SDK映像重新建立在ASP.NET鏡像之上,而不是buildpack-deps,以顯著減小在多階段構(gòu)建方案中提取的聚合映像的大小。

Ubuntu 20.04 Focal 多階段構(gòu)建成本:

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

下載節(jié)省量:100 MB(-30%)

Debian 10 Buster 多階段構(gòu)建成本:

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

凈下載節(jié)省量:146 MB(-40%)

對Alpine和Nano Server進行了類似的更改。Alpine或Nano Server沒有任何buildpack-depssdk鏡像。對于多階段構(gòu)建,將看到Alpine和Nano Server以及5.0的巨大成功。

9. 單文件應(yīng)用

單個文件應(yīng)用程序作為單個文件發(fā)布和部署。該應(yīng)用程序及其依賴項都包含在該文件中。當應(yīng)用程序運行時,依賴項直接從該文件加載到內(nèi)存中(不影響性能)。

在.NET 5.0中,單個文件應(yīng)用程序主要集中在Linux上(稍后再介紹)。它們可以是框架相關(guān)的,也可以是獨立的。依賴于全局安裝的.NET運行時,依賴于框架的單個文件應(yīng)用程序可能很小。自包含的單文件應(yīng)用程序較大(由于帶有運行時),但不需要作為安裝前步驟就安裝.NET運行時,因此可以正常工作。通常,依賴框架對開發(fā)和企業(yè)環(huán)境有利,而對于ISV,獨立包含通常是更好的選擇。

在所有平臺上,都有一個名為" apphost"的組件。這是成為可執(zhí)行文件的文件,例如在Windows上或myapp.exe./myapp在基于Unix的平臺上。對于單文件應(yīng)用程序,創(chuàng)建了一個新的應(yīng)用程序主機"超級主機"。它具有與常規(guī)apphost相同的角色,但還包含運行時的靜態(tài)鏈接副本。超級主機是單文件方法的基本設(shè)計點。該模型是在帶有.NET 5.0的Linux上使用的模型。由于各種操作系統(tǒng)限制,無法在Windows或macOS上實現(xiàn)此方法。在Windows或macOS上沒有超級主機。在這些操作系統(tǒng)上,本機運行時二進制文件(約3個)位于單個文件應(yīng)用程序旁邊(導致"不是單個文件")。

框架相關(guān)的單文件應(yīng)用程序:

  1. dotnet publish -r linux-x64 --self-contained false /p:PublishSingleFile=true 

自包含的單文件應(yīng)用程序:

  1. dotnet publish -r linux-x64 --self-contained true /p:PublishSingleFile=true 

還可以使用項目文件配置單個文件發(fā)布。

  1. <Project Sdk="Microsoft.NET.Sdk"> 
  2.  
  3.  
  4. <PropertyGroup> 
  5. <OutputType>Exe</OutputType> 
  6. <TargetFramework>net5.0</TargetFramework> 
  7. <!-- The OS and CPU type you are targeting --> 
  8. <RuntimeIdentifier>linux-x64</RuntimeIdentifier> 
  9. <!-- Determine self-contained or framework-dependent --> 
  10. <SelfContained>true</SelfContained> 
  11. <!-- Enable single file --> 
  12. <PublishSingleFile>true</PublishSingleFile> 
  13. </PropertyGroup> 
  14.  
  15.  
  16. </Project> 

10. ClickOnce

ClickOnce一直是流行的.NET部署選項。.NET Core 3.1和.NET 5.0 Windows應(yīng)用程序現(xiàn)在支持它。在.NET Core 3.0添加Windows Forms和WPF支持時,許多人會希望使用ClickOnce進行應(yīng)用程序部署。在過去的一年中,.NET和Visual Studio團隊共同努力,以在命令行和Visual Studio中啟用ClickOnce發(fā)布:

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

目前支持的主要部署模型是框架相關(guān)的應(yīng)用程序。對.NET桌面運行時(即包含WPF和Windows窗體的運行時)的依賴很容易。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

Mage的最大變化是它現(xiàn)在是在NuGet上分發(fā)的.NET工具。這意味著不需要在計算機上安裝任何特殊的東西,只需要.NET 5.0 SDK就可以將Mage安裝為.NET工具。也可以使用它來發(fā)布.NET Framework應(yīng)用程序,但是,SHA1簽名和部分信任支持已被刪除。Mage安裝命令如下:

  1. dotnet tool install -g Microsoft.DotNet.Mage 

制作并分發(fā)ClickOnce安裝程序后,用戶將看到熟悉的ClickOnce安裝對話框。

二、工具改善

新改進了Windows窗體設(shè)計器,更改了目標框架適用于.NET 5.0及更高版本的方式,更改了WinRT的支持方式,并進行了其他改進。

1. Windows窗體設(shè)計器

Windows Forms設(shè)計器(用于.NET Core 3.1和.NET 5.0)已經(jīng)在Visual Studio 16.8中進行了更新,現(xiàn)在支持所有Windows Forms控件。它還支持WinForms控件的Telerik UI。設(shè)計器包括期望的所有設(shè)計器功能,包括:拖放,選擇,移動和調(diào)整大小,剪切/復制/粘貼/刪除控件,與屬性窗口集成,事件生成等。數(shù)據(jù)綁定和對更廣泛的第三方控件的支持即將推出。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

2. .NET 5.0目標框架

新版本更改了用于目標框架的方法。以下項目文件演示了新的.NET 5.0目標框架。

  1. <Project Sdk="Microsoft.NET.Sdk"> 
  2.  
  3. <PropertyGroup> 
  4.  
  5. <OutputType>Exe</OutputType> 
  6.  
  7. <TargetFramework>net5.0</TargetFramework> 
  8.  
  9. </PropertyGroup> 
  10.  
  11. </Project> 

到目前為止,新表單比目前使用的樣式更緊湊,更直觀。另外,正在擴展目標框架以描述操作系統(tǒng)依賴性。

Windows桌面API(包括Windows窗體,WPF和WinRT)僅在net5.0-windows可用。可以指定操作系統(tǒng)版本,例如net5.0-windows7或net5.0-windows10.0.17763.0。如果要使用WinRT API,則需要為Windows 10版本。

使用新的net5.0-windows TFM時,跨平臺方案可能會更具挑戰(zhàn)性。如果您要避免為Windows構(gòu)建或避免在Linux上提取Windows運行時程序包,

3. WinRT Interop(重大更改)

Windows API主題上,已移至一個新模型,以作為.NET 5.0的一部分來支持WinRT API。包括調(diào)用API(在任一方向上;CLR <==> WinRT),兩個類型系統(tǒng)之間的數(shù)據(jù)封送處理以及打算在類型系統(tǒng)或ABI邊界上統(tǒng)一對待。

在.NET 5.0中現(xiàn)有的WinRT互操作體系已被去除,這是一個巨大的變化。這意味著使用WinRT和.NET Core 3.x的應(yīng)用程序和庫將需要重建,并且不能按原樣在.NET 5.0上運行。使用WinRT API的庫將需要多目標來管理.NET Core 3.1和.NET 5.0之間的這種差異。

未來,將依靠Windows中的WinRT團隊提供的新CsWinRT工具。它生成基于C#的WinRT互操作程序集,可以通過NuGet交付該程序集。Windows團隊正是針對Windows中的WinRT API所做的。希望將WinRT(在Windows上)用作互操作系統(tǒng)的任何人都可以使用該工具,以將本機API公開給.NET或?qū)?NET API公開給本機代碼。

CsWinRT工具在邏輯上類似于TLBIMP和tlbexp,雖然好多了。tlb工具依賴于.NET運行時中的許多COM互操作管道。CsWinRT工具僅依賴于公共.NET API。就是說,C#9中的函數(shù)指針功能(部分在.NET 5.0運行時中實現(xiàn))在某種程度上受到CsWinRT工具需求的啟發(fā)。

這種新的WinRT互操作模型有幾個好處:

  • 可以獨立于.NET運行時進行開發(fā)和改進。
  • 它與為其他操作系統(tǒng)(如iOS和Android)提供的基于工具的互操作系統(tǒng)對稱。
  • 該工具可以利用其他.NET功能(AOT,C#功能,IL鏈接),而以前的系統(tǒng)則不提供該功能。
  • 簡化.NET運行時代碼庫。
  • 無需添加NuGet引用即可使用WinRT API。對于indows 10 TFM(在前面的.NET 5.0 TFM部分中已經(jīng)討論過)就足夠了。如果目標是.NET Core 3.1或更早版本,則需要引用WinRT軟件包。

4. 本機導出

已經(jīng)為導出本機二進制文件啟用導出,而本機二進制文件在很長一段時間內(nèi)都已調(diào)用.NET代碼。該方案的構(gòu)建塊是對UnmanagedCallersOnlyAttribute的。

.NET Native導出項目支持:

  • 公開自定義的本地出口。
  • 不需要像COM這樣的高級互操作技術(shù)。
  • 跨平臺工作。

5. 事件管道

事件管道是在.NET Core 2.2中添加的新的系統(tǒng)和API,可以在任何操作系統(tǒng)上執(zhí)行性能和其他診斷調(diào)查。在.NET 5.0中,事件管道已得到擴展,以使事件探查器能夠?qū)懭胧录艿朗录?。對于以前依靠ETW(在Windows上)監(jiān)視應(yīng)用程序行為和性能的分析探查器,此方案至關(guān)重要。

新版本中可以通過事件管道獲得程序集加載信息。這項改進是開始提供類似的診斷功能(作為.NET Framework的一部分)的開始,例如?,F(xiàn)在,可以使用通過以下命令來收集此信息:

  1. dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 -- ./MyApp –my-arg 1 

工作流在dotnet-trace docs中進行了描述??梢圆榭春唵螠y試應(yīng)用程序的程序集加載信息。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

6. Microsoft.Extensions.Logging

Microsoft.Extensions.Logging庫中的控制臺日志提供程序進行了改進??梢酝ㄟ^ConsoleFormatter自定義對控制臺輸出的格式和顏色進行完全控制。格式化程序API通過實現(xiàn)VT-100(大多數(shù)現(xiàn)代終端支持的)轉(zhuǎn)義序列的子集來實現(xiàn)豐富的格式化??刂婆_記錄器可以解析不受支持的終端上的轉(zhuǎn)義序列,使您可以為所有終端編寫單個格式化程序。

除了支持自定義格式器外,還添加了內(nèi)置的JSON格式器,該格式器向控制臺發(fā)出結(jié)構(gòu)化JSON日志。

7. Dump調(diào)試

調(diào)試托管代碼需要了解托管對象和構(gòu)造。數(shù)據(jù)訪問組件(DAC)是運行時執(zhí)行引擎的子集,該引擎具有這些構(gòu)造的知識,并且可以在沒有運行時的情況下訪問這些托管對象?,F(xiàn)在,可以使用WinDBG或dotnet dump analyze在Windows上分析在Linux上收集的.NET Core進程dump。

還添加了對從macOS上運行的.NET進程捕獲ELF dump的支持。由于ELF不是macOS上的本機可執(zhí)行文件(像lldb這樣的本地調(diào)試器將無法與這些dump一起使用)文件格式,因此將其設(shè)為選擇加入功能。要在macOS上支持收集,請設(shè)置環(huán)境變量COMPlus_DbgEnableElfDumpOnMacOS=1??梢允褂胐otnet dump analyze來分析產(chǎn)生的dump。

8. 打印環(huán)境信息

隨著.NET擴展了對新操作系統(tǒng)和芯片體系結(jié)構(gòu)的支持,有時需要一種打印環(huán)境信息的方法。.NET5創(chuàng)建了一個簡單的.NET工具dotnet-runtimeinfo來執(zhí)行該操作。

可以使用以下命令安裝和運行該工具。

  1. dotnet tool install -f dotnet-runtimeinfo 
  2. dotnet-runtimeinfo 

該工具以可以生成諸如如下格式的環(huán)境信息。

  1. **.NET information 
  2. Version: 5.0.0 
  3. FrameworkDescription: .NET 5.0.0 
  4. Libraries version: 5.0.0 
  5. Libraries hash: cf258a14b70ad9069470a108f13765e0e5988f51 
  6.  
  7.  
  8. **Environment information 
  9. OSDescription: Linux 5.8.6-1-MANJARO-ARM #1 SMP Thu Sep 3 22:01:08 CEST 2020 
  10. OSVersion: Unix 5.8.6.1 
  11. OSArchitecture: Arm64 
  12. ProcessorCount: 6 
  13.  
  14.  
  15. **CGroup info** 
  16. cfs_quota_us: -1 
  17. memory.limit_in_bytes: 9223372036854771712 
  18. memory.usage_in_bytes: 2740666368 

其他更新

1. Windows Arm64

.NET應(yīng)用程序現(xiàn)在可以在Windows Arm64上本機運行。這是在.NET Core 3.0中添加的對Linux Arm64的支持(對glibc和musl的支持)。

在.NET 5.0中,可以在Windows Arm64設(shè)備(例如Surface Pro X)上開發(fā)和運行應(yīng)用程序。已經(jīng)可以通過x86仿真在Windows Arm64上運行.NET Core和.NET Framework應(yīng)用程序。這是可行的,但是本機Arm64執(zhí)行具有更好的性能。

用于Arm64的MSI安裝程序是此版本的最終更改之一。下面是.NET 5.0 SDK安裝程序。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

Windows Arm64上支持SDK,控制臺和ASP.NET Core應(yīng)用程序,但Windows桌面組件暫不支持。

2. Windows上支持ICU

ICU庫用于Unicode和全球化支持,以前僅在Linux和macOS上使用?,F(xiàn)在在Windows 10上使用相同的庫。此更改使全球化API的行為(如特定文化區(qū)域的字符串比較)在Windows 10,macOS和Linux之間保持一致。還將ICU與Blazor WebAssembly支持一起使用。

3. System.Text.Json

在.NET 5.0中已進行了顯著改善,在性能,可靠性,并使熟悉Newtonsoft.Json的人們更容易采用。它還包括對將JSON對象反序列化為記錄的支持。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

使更新可用時,用戶將看到更新對話框。

光棍節(jié)微軟發(fā)布dotNET 5.0正式版本,新功能嘗鮮

三、總結(jié)

.NET 5.0是另一個重要版本發(fā)布,它改善.NET使用的許多方面。已經(jīng)實現(xiàn)了從單文件應(yīng)用程序到性能,從Json序列化可用性到Arm64支持的一系列廣泛改進。C#9和F#5中的新語言改進將使代碼更具表現(xiàn)力,更易于編寫。.NET 5.0也是現(xiàn)有應(yīng)用程序的絕佳選擇,在許多情況下,可以輕松進行升級。

 

責任編輯:趙寧寧 來源: 蟲蟲搜奇
相關(guān)推薦

2013-07-09 16:46:13

高峰交易

2012-11-05 15:40:17

網(wǎng)絡(luò)通信

2012-10-10 16:27:39

StartOS 5.0Ylmf OS

2024-01-24 13:25:54

2012-11-07 16:40:37

2023-03-22 18:07:00

iOS蘋果功能

2012-11-08 17:33:53

智慧云

2020-11-11 18:40:01

機器人人工智能系統(tǒng)

2019-07-23 07:20:23

蘋果 iOS系統(tǒng)

2024-09-18 15:45:00

iOS 18蘋果iOS 17

2022-07-22 07:03:39

微軟Windows 11

2023-02-06 14:59:27

iOSiOS 16蘋果

2012-11-09 13:11:58

筆記本

2013-11-12 09:48:57

傲游云瀏覽器

2012-11-09 13:56:15

光棍節(jié)

2009-07-10 08:29:50

Silverlight

2021-09-22 08:48:32

iOS應(yīng)用系統(tǒng)

2013-11-06 10:04:00

光棍節(jié)C2B天貓

2011-11-11 09:18:10

AdobeFlashFlash playe

2020-12-30 09:35:56

安卓微信微信豆新功能
點贊
收藏

51CTO技術(shù)棧公眾號