Microsoft ประกาศเปิดตัว เวอร์ชันใหม่ของแพลตฟอร์มของคุณ ".NET 7" ซึ่งรวมถึงรันไทม์กับคอมไพเลอร์ RyuJIT JIT ข้อกำหนด API ไลบรารี WPF และเครื่องมืออื่นๆ
นอกจากนี้ เว็บแอปพลิเคชัน ASP.NET Core 7.0, เลเยอร์ Entity Framework Core 7.0 ORM, ไลบรารี WPF 7 (Windows Presentation Foundation), เฟรมเวิร์ก Windows Forms 7 สำหรับการพัฒนา GUI, แพลตฟอร์ม Orleans
ฟีเจอร์ใหม่ยอดนิยมใน .NET 7
ในเวอร์ชันใหม่นี้ ไลบรารีคลาสพื้นฐาน (BCL, Base Class Library) ได้รวมเป็นหนึ่งเดียวเพื่อใช้ในการใช้งานประเภทต่างๆ รวมถึงโปรแกรมสำหรับระบบเดสก์ท็อป เว็บแอปพลิเคชัน แพลตฟอร์มคลาวด์ แอปพลิเคชันมือถือ เกม โปรแกรมฝังตัว และระบบการเรียนรู้ของเครื่อง คุณสามารถใช้ SDK รันไทม์และชุดของไลบรารีทั่วไปเพื่อพัฒนาแอปพลิเคชันประเภทต่างๆ
นอกจากนี้ ยังเน้นย้ำว่า ให้ความสามารถในการผูกแอปพลิเคชันกับ API ที่เข้ากันได้กับเวอร์ชัน .NET 7 ผ่านคำจำกัดความเฟรมเวิร์กเป้าหมาย "net7.0" เช่น " net7.0 ». ในการผูกกับ API เฉพาะแพลตฟอร์ม คุณสามารถระบุประเภทแพลตฟอร์มเมื่อระบุเป้าหมาย ตัวอย่างเช่น โดยการระบุ "net7.0-android"
tambien เน้นการสนับสนุนที่ดีขึ้นสำหรับสถาปัตยกรรม ARM64 และทำงานอย่างต่อเนื่องเพื่อให้ได้ประสิทธิภาพที่เท่าเทียมกันสำหรับแอปพลิเคชัน .NET เมื่อทำงานบนทั้งสถาปัตยกรรม x86 และ ARM64 ปรับปรุงประสิทธิภาพแคช L3 ขณะรันไทม์บนระบบ ARM64 คำแนะนำ LSE ใช้เพื่อป้องกันการเข้าถึงหน่วยความจำเธรดแบบขนาน ส่งผลให้เวลาในการตอบสนองลดลง 45%
ห้องสมุดเพิ่มไดรเวอร์ที่ใช้ประเภทเวกเตอร์ Vector64, Vector128 และ Vector256และฟังก์ชัน EncodeToUtf8 และ DecodeFromUtf8 ถูกเขียนใหม่ตามคำสั่งเวกเตอร์ ซึ่งเพิ่มประสิทธิภาพได้ถึง 60% (สำหรับฟังก์ชัน NarrowUtf16ToAscii และ GetIndexOfFirstNonAsciiChar ประสิทธิภาพเพิ่มขึ้นถึง 35%). โดยรวมแล้ว ความเร็วในการผ่านการทดสอบบนแพลตฟอร์ม ARM64 เพิ่มขึ้น 10-60%
ในทางกลับกัน มีการเน้นการเพิ่มประสิทธิภาพการรองรับ Linux รวมถึงการเพิ่มแพ็คเกจด้วย .NET 6 ไปยังคลังเก็บสต็อคของ Ubuntu 22.04 และการจัดเตรียมอิมเมจ Docker ที่ปรับแต่งให้เหมาะสม กะทัดรัด พร้อมใช้งานทันทีสำหรับการปรับใช้คอนเทนเนอร์อย่างรวดเร็วด้วยแอปพลิเคชันที่ใช้ .NET
แนะนำ .NET Upgrade Assistant เพื่อให้ง่ายต่อการโยกย้ายแอปพลิเคชันที่เก่ากว่าไปยังสาขา .NET 6 หรือ .NET 7 เวอร์ชันใหม่ได้ขยายการรองรับสำหรับการย้ายแอปพลิเคชัน ASP.NET ไปยัง ASP.NET Core เพิ่มตัวแยกวิเคราะห์โค้ดและตัวตรวจสอบสำหรับไลบรารี WinForms, WPF และคลาส นำการสนับสนุนสำหรับไฟล์เรียกทำงานแยกวิเคราะห์ เพิ่มการสนับสนุนสำหรับ UWP (แพลตฟอร์ม Windows สากล)
มีการเสนออินเทอร์เฟซทั่วไปสำหรับฟังก์ชันทางคณิตศาสตร์ และมีความเป็นไปได้ในการกำหนดองค์ประกอบแบบคงที่ในอินเทอร์เฟซเสมือน ซึ่งอนุญาตให้ใช้วิธีการเขียนโปรแกรมทั่วไปเพื่อดำเนินการทางคณิตศาสตร์โดยไม่มีข้อมูลที่แน่นอนเกี่ยวกับประเภทของค่า
ประสิทธิภาพในคอมไพเลอร์ JIT ก็ได้รับการปรับปรุงเช่นกัน นอกจากจะเพิ่มแล้ว รองรับกลไก OSR (On Stack Replacement) เพื่อเปลี่ยนโค้ดของเมธอดที่รันอยู่แล้ว ให้คุณปรับแต่งเมธอดที่ใช้เวลานานกว่าจะเสร็จโดยไม่ต้องรอให้สายปัจจุบันเสร็จ (ในการทดสอบ TechEmpower มี 10-30 ตัว) % เพิ่มประสิทธิภาพในการประมวลผลคำขอแรก 10-30%)
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:
- เพิ่มการรองรับการคอมไพล์ไปยังไฟล์สั่งการในตัวเอง (Native AOT) โดยที่โปรเจ็กต์ทั้งหมดจะถูกคอมไพล์ไปยังโค้ดแพลตฟอร์มเป้าหมายดั้งเดิมโดยไม่ต้องใช้โค้ดระดับกลางและไม่ใช้ JIT
- .NET SDK ใช้ความสามารถในการจำกัดการใช้เทมเพลตโครงการที่มีให้ ตัวอย่างเช่น คุณสามารถกำหนดได้ว่าเทมเพลตนั้นใช้ระบบปฏิบัติการใด
- NuGet ได้เพิ่มโหมดการจัดการแพ็คเกจแบบรวมศูนย์ที่ให้คุณจัดการการพึ่งพาสำหรับหลายโครงการพร้อมกัน
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.
สำหรับผู้ที่สนใจ คุณควรรู้ว่าบิลด์ของ .NET SDK 7, .NET Runtime 7 และ ASP.NET Core Runtime 7 นั้นสร้างมาสำหรับ Linux, macOS และ Windows .NET Desktop Runtime 6 ใช้งานได้กับ Windows เท่านั้น