Microsoft. NET 7 được phát hành với sự hỗ trợ Linux tốt hơn, hiệu suất được cải thiện
Hãy thể hiện sự ủng hộ của bạn bằng cách hiển thị các biểu ngữ trên trang này. Chúng tôi cố gắng đảm bảo chỉ những quảng cáo phù hợp, sạch sẽ mới được hiển thị và khi phát hiện thấy bất kỳ quảng cáo khó chịu nào, chúng tôi sẽ cố gắng xóa chúng ngay khi có thể. Quảng cáo là thứ giúp trang web này có thể duy trì hàng ngày trong hơn 18 năm qua. Hãy xem xét Phoronix Premium không có quảng cáo của chúng tôi nếu bạn muốn xem trang web không có quảng cáo trong khi vẫn giúp chúng tôi thực hiện công việc của mình. Quảng cáo là thứ đã cho phép trang web này được duy trì hàng ngày trong hơn 18 năm qua. Chúng tôi cố gắng hết sức để đảm bảo chỉ những quảng cáo sạch, có liên quan mới được hiển thị, khi phát hiện thấy bất kỳ quảng cáo khó chịu nào, chúng tôi sẽ cố gắng loại bỏ chúng càng sớm càng tốt. Nếu bạn muốn xem trang web không có quảng cáo trong khi vẫn hỗ trợ công việc của chúng tôi, vui lòng xem xét Phoronix Premium không có quảng cáo của chúng tôi . Show
Michael Larabel đã đăng nó trên Microsoft vào ngày 9 tháng 11 năm 2022, lúc 8. 00 giờ sáng Giờ Chuẩn Miền Đông. 42 Bình luận Microsoft đã phát hành NET 7 vào thứ ba, mang đến một loạt các tính năng mới trên nền tảng Microsoft cũng như hỗ trợ Linux được cải thiện Microsoft. NET 7 cung cấp hiệu suất nâng cao, hỗ trợ riêng ARM64, hỗ trợ ứng dụng dành cho thiết bị di động/máy tính để bàn đa nền tảng tốt hơn, cải tiến HTTP/3 cho ứng dụng gốc trên đám mây, hỗ trợ IBM Power 64-bit trên Linux và nhiều giải pháp chạy khác Truy cập Blog dành cho nhà phát triển của Microsoft để biết các liên kết tải xuống và biết thêm thông tin về việc phát hành Microsoft. MẠNG 7 42 Bình luận Hiển thị hỗ trợ của bạn. Trang web này chủ yếu được hỗ trợ bởi quảng cáo. Quảng cáo là thứ đã cho phép trang web này được duy trì hàng ngày trong hơn 18 năm qua. Chúng tôi cố gắng hết sức để đảm bảo chỉ những quảng cáo sạch, có liên quan mới được hiển thị, khi phát hiện thấy bất kỳ quảng cáo khó chịu nào, chúng tôi sẽ cố gắng loại bỏ chúng càng sớm càng tốt. Nếu bạn muốn xem trang web không có quảng cáo trong khi vẫn hỗ trợ công việc của chúng tôi, vui lòng xem xét Phoronix Premium không có quảng cáo của chúng tôi . Microsoft. NET 7 được phát hành với sự hỗ trợ Linux tốt hơn, hiệu suất được cải thiệnĐược viết bởi Michael Larabel tại Microsoft vào ngày 9 tháng 11 năm 2022 lúc 08. 00 AM EST. 42 Bình luận Microsoft vào thứ ba đã phát hành. NET 7 với sự hỗ trợ Linux được cải thiện, hiệu suất tốt hơn và nhiều tính năng mới trong nền tảng Microsoft nàyMicrosoft. NET 7 mang lại hiệu suất được cải thiện, nâng cao. NET trên Linux, hỗ trợ riêng cho ARM64, cải tiến năng suất của nhà phát triển, hỗ trợ ứng dụng máy tính để bàn/di động đa nền tảng tốt hơn, cải tiến HTTP/3 cho ứng dụng gốc trên đám mây, hỗ trợ IBM Power 64-bit trên Linux và nhiều giải pháp chạy khác Tải xuống và biết thêm chi tiết về Microsoft. NET 7 thông qua Blog nhà phát triển của Microsoft 42 Bình luận
NET 7 giúp ứng dụng của bạn tăng hiệu suất và các tính năng mới cho C# 11/F# 7,. MẠNG LƯỚI, ASP. NET Core/Blazor, API Web, WinForms, WPF, v.v. Với. NET 7, bạn cũng có thể dễ dàng chứa. NET 7, thiết lập quy trình công việc CI/CD trong các hành động GitHub và đạt được khả năng quan sát dựa trên đám mây Nhờ mã nguồn mở. NET vì nhiều đóng góp của bạn đã giúp hình thành điều này. NET7 phát hành. 28k đóng góp được thực hiện bởi hơn 8900 người đóng góp trong suốt. NET7 phát hành NET vẫn là một trong những nền tảng , , và đáng tin cậy với khả năng mở rộng. NET bao gồm hơn 330.000 gói Tải xuống và nâng cấpBạn có thể tải về miễn phí. NET 7 phát hành hôm nay cho Windows, macOS và Linux
NET 7 cung cấp một bản nâng cấp đơn giản nếu bạn đang sử dụng và một số lý do thuyết phục để di chuyển nếu bạn hiện đang duy trì một Visual Studio 2022 17. 4 cũng có sẵn ngày hôm nay. đang phát triển. NET 7 trong Visual Studio 2022 mang đến cho nhà phát triển công cụ năng suất tốt nhất trong lớp. Để tìm hiểu tính năng mới trong Visual Studio 2022, hãy xem các blog về Visual Studio 2022 Có gì mới trong. MẠNG 7NET 7 kết hợp với một số sản phẩm, thư viện và nền tảng khác bao gồm
Trong bài đăng trên blog này, chúng tôi sẽ nêu bật các chủ đề chính mà. NET Teams tập trung vào việc cung cấp
Dưới đây, chúng tôi sẽ trình bày chi tiết hơn về các chủ đề này và chia sẻ thêm ngữ cảnh về lý do tại sao công việc này lại quan trọng kịch bảnNET 7 linh hoạt đến mức bạn có thể xây dựng bất kỳ ứng dụng nào trên mọi nền tảng Hãy làm nổi bật một số kịch bản mà bạn có thể đạt được với. NET bắt đầu từ hôm nay
Thống nhâtThư viện một lớp cơ sở (BCL)NET 7 là bản phát hành chính thứ ba trong. hành trình hợp nhất NET (kể từ. NET5 vào năm 2016) Với. NET 7, bạn học một lần và sử dụng lại các kỹ năng của mình với một SDK, một Thời gian chạy, một bộ thư viện cơ sở để xây dựng nhiều loại ứng dụng (Đám mây, Web, Máy tính để bàn, Di động, Trò chơi, IoT và AI) nhắm mục tiêu. MẠNG 7Khi bạn nhắm mục tiêu một khung trong ứng dụng hoặc thư viện, bạn đang chỉ định bộ API mà bạn muốn cung cấp. Nhắm mục tiêu. NET 7, dễ như thay đổi khung mục tiêu trong dự án của bạn
Các ứng dụng nhắm mục tiêu tên khung mục tiêu 3 (TFM) sẽ hoạt động trên tất cả các hệ điều hành và kiến trúc CPU được hỗ trợ. Chúng cấp cho bạn quyền truy cập vào tất cả các API trong. NET 7 cộng với một loạt các hệ điều hành cụ thể như
Các API được hiển thị thông qua TFM 3 được thiết kế để hoạt động ở mọi nơi. Nếu bạn từng nghi ngờ liệu một API có được hỗ trợ với. NET 7, bạn luôn có thể xem https. //apisof. mạng lưới/. Đây là một ví dụ về giao diện mới được thêm vào 5 mà bạn có thể thấy hiện đã được tích hợp sẵn vào. MẠNG 7CÁNH TAY64Khi ngành công nghiệp đang hướng tới ARM, thì. MẠNG LƯỚI. Một trong những lợi thế lớn nhất của CPU ARM là hiệu suất năng lượng. Điều này mang lại hiệu suất cao nhất với mức tiêu thụ điện năng thấp nhất. Nói cách khác, bạn có thể làm nhiều hơn với ít hơn. Trong. NET 5, chúng tôi đã mô tả các sáng kiến hiệu suất mà chúng tôi đã thực hiện đối với ARM64. Bây giờ, hai bản phát hành sau chúng tôi muốn chia sẻ với bạn chúng tôi đã đi được bao xa. Mục tiêu liên tục của chúng tôi là kết hợp hiệu năng của x64 với ARM64 để giúp khách hàng của chúng tôi di chuyển. NET cho ARM Cải tiến thời gian chạyMột thách thức mà chúng tôi gặp phải khi điều tra x64 và ARM64 là phát hiện ra rằng kích thước bộ đệm L3 không được đọc chính xác từ các máy ARM64. Chúng tôi đã thay đổi phương pháp phỏng đoán của mình để trả về kích thước gần đúng nếu không thể tìm nạp kích thước bộ đệm L3 từ HĐH hoặc BIOS của máy. Giờ đây, chúng tôi có thể ước tính tốt hơn số lượng lõi trên mỗi kích thước bộ đệm L3 Số lõiKích thước bộ đệm L31~44MB5~168MB17~6416MB65+32MBTiếp theo là sự hiểu biết của chúng ta về các nguyên tử LSE. Cái nào, nếu bạn chưa biết, cung cấp API nguyên tử để có quyền truy cập độc quyền vào các khu vực quan trọng. Trong các máy x86-x64 có kiến trúc CISC, các thao tác đọc-sửa-ghi (RMW) trên bộ nhớ có thể được thực hiện bằng một lệnh duy nhất bằng cách thêm tiền tố khóa Tuy nhiên, trên các máy có kiến trúc RISC, các thao tác RMW không được phép và tất cả các thao tác được thực hiện thông qua các thanh ghi. Do đó, đối với các kịch bản đồng thời, chúng có cặp hướng dẫn. “Load Acquire” (ldaxr) giành quyền truy cập độc quyền vào vùng bộ nhớ sao cho không lõi nào khác có thể truy cập và “Store Release” (stlxr) giải phóng quyền truy cập cho các lõi khác truy cập. Giữa các cặp này, các hoạt động quan trọng được thực hiện. Nếu thao tác stlxr không thành công do một số CPU khác hoạt động trên bộ nhớ sau khi bạn tải nội dung bằng ldaxr, sẽ có mã để thử lại (cbnz nhảy lại để thử lại) thao tác ARM đã giới thiệu hướng dẫn nguyên tử LSE trong v8. 1. Với các hướng dẫn này, các thao tác như vậy có thể được thực hiện với ít mã hơn và nhanh hơn phiên bản truyền thống. Khi chúng tôi kích hoạt tính năng này cho Linux và sau đó mở rộng nó sang Windows, chúng tôi đã thấy hiệu suất đạt được khoảng 45% Cải tiến thư việnĐể tối ưu hóa các thư viện sử dụng nội tại, chúng tôi đã thêm các trình trợ giúp đa nền tảng mới. Chúng bao gồm những người trợ giúp cho 6, 7 và 8. Trình trợ giúp đa nền tảng cho phép thống nhất các thuật toán vector hóa bằng cách thay thế nội tại dành riêng cho phần cứng bằng nội tại không phụ thuộc vào phần cứng. Điều này sẽ mang lại lợi ích cho người dùng trên bất kỳ nền tảng nào, nhưng chúng tôi hy vọng ARM64 sẽ mang lại nhiều lợi ích nhất, vì các nhà phát triển không có kiến thức chuyên môn về ARM64 vẫn có thể sử dụng các trình trợ giúp để tận dụng lợi thế nội tại của phần cứng Arm64Viết lại các API như 9 và 0 từ triển khai SSE3 sang triển khai dựa trên Vector có thể cải thiện tới 60%Tương tự như vậy, việc chuyển đổi các API khác như 1 và 2 có thể chứng minh hiệu suất đạt được lên tới 35%Tác động hiệu suấtVới công việc của chúng tôi trong. NET 7, nhiều MicroBenchmarks được cải thiện từ 10-60%. Khi chúng tôi bắt đầu. NET 7, các yêu cầu mỗi giây (RPS) thấp hơn đối với ARM64, nhưng dần dần vượt qua tính tương đương của x64 Tương tự như vậy đối với độ trễ (được đo bằng mili giây), chúng tôi sẽ kết nối tính chẵn lẻ của x64 Để biết thêm chi tiết, hãy xem Cải tiến hiệu suất ARM64 trong. MẠNG 7 nâng cao. NET hỗ trợ trên LinuxNET 6 được bao gồm trong Ubuntu 22. 04 (Jammy) và có thể cài đặt bằng lệnh 3. Ngoài ra, có một hình ảnh vùng chứa siêu nhỏ, được tạo sẵn, được tối ưu hóa có thể được sử dụng ngay lập tức 3Để biết thêm thông tin về quan hệ đối tác của chúng tôi với Canonical và ARM, hãy đọc. NET 6 hiện đã có trong Ubuntu 22. 04 Hỗ trợ IBM Power 64-bitNgoài kiến trúc x64 (64-bit Intel/AMD), ARM64 (64-bit ARM) và s390x (64-bit IBM Z),. NET hiện cũng có sẵn cho kiến trúc ppc64le (64-bit IBM Power) nhắm mục tiêu RHEL 8. 7 và RHEL 9. 1 Với khả năng chạy tự nhiên trên Power, hơn 25.000 khách hàng của IBM Power có thể hợp nhất các. NET trên Windows x86 để chạy trên cùng một nền tảng Power như các ứng dụng và cơ sở dữ liệu doanh nghiệp IBM i và AIX của họ. Làm như vậy có thể cải thiện đáng kể tính bền vững với lượng khí thải carbon nhỏ hơn tới 5 lần kết hợp với quy mô thanh toán theo mức sử dụng tại chỗ cho khả năng của RHEL và OpenShift đồng thời mang lại khả năng bảo mật dữ liệu và giao dịch toàn diện cho doanh nghiệp hàng đầu trong ngành Hiện đạiNET 7 được xây dựng cho các ứng dụng gốc trên đám mây hiện đại, ứng dụng khách di động, dịch vụ cạnh và công nghệ máy tính để bàn. Tạo trải nghiệm di động bằng cách sử dụng một cơ sở mã duy nhất mà không ảnh hưởng đến hiệu suất gốc bằng cách sử dụng. LƯỚI MAUI. Xây dựng Ứng dụng Trang đơn (SPA) đáp ứng chạy trong trình duyệt của bạn và ngoại tuyến dưới dạng Ứng dụng web lũy tiến (PWA) bằng các công nghệ quen thuộc như mẫu C# và Razor. Những trải nghiệm hiện đại nhanh hơn này không chỉ dành cho các ứng dụng mới. Các. NET Upgrade Assistant sẽ cung cấp phản hồi về tính tương thích và trong một số trường hợp, di chuyển hoàn toàn ứng dụng của bạn sang. MẠNG 6 và. MẠNG 7 LƯỚI MAUINET MAUI hiện là một phần của. NET 7 với vô số cải tiến và tính năng mới. bạn có thể tìm hiểu về. NET MAUI và cách nó trao quyền cho bạn để xây dựng ứng dụng cho tất cả các thiết bị di động của bạn bằng cách đọc bản mới nhất. Thông báo blog NET MAUI áo khoác ngoàiBlazor tiếp tục phát triển và. NET 7 bao gồm nhiều cải tiến lớn. Blazor hiện có hỗ trợ xử lý các sự kiện thay đổi vị trí, cải thiện trải nghiệm gỡ lỗi WebAssembly và hỗ trợ sẵn dùng để xác thực bằng OpenID Connect. Để tìm hiểu thêm, hãy đọc các bài đăng blog mới nhất của nhóm Blazor Trợ lý nâng cấpCác. NET Upgrade Assistant cung cấp hướng dẫn từng bước, thông tin chi tiết và tự động hóa để đưa các ứng dụng cũ của bạn lên. MẠNG 6 và. MẠNG 7. Trong một số trường hợp, nó có thể thực hiện việc di chuyển cho bạn. Nó giúp giảm thời gian và độ phức tạp khi hiện đại hóa các cơ sở mã cũ hơn. Ví dụ: tìm hiểu cách đưa các ứng dụng WCF của bạn đến. NET Core với sự trợ giúp của CoreWCF. Với. NET 7, trải nghiệm được cải thiện bao gồm
Sẵn sàng chuyển ứng dụng của bạn lên phiên bản mới nhất và hoạt động nhanh nhất. NET cho đến nay? NET 6 Di chuyển nổi bậtSau. NET 6 đã được công bố vào năm ngoái, đã có nhiều hành trình thành công đến phiên bản mới nhất của. MẠNG LƯỚI. Những câu chuyện này nêu bật lợi ích của những cải tiến đáng kể đối với việc sử dụng CPU, tăng yêu cầu mỗi giây (RPS), sử dụng nhóm luồng tốt hơn, giảm kích thước nhị phân, thời gian khởi động nhanh hơn, quản lý phụ thuộc đơn giản hóa, giảm nợ kỹ thuật trong tương lai, giảm chi phí cơ sở hạ tầng và quan trọng nhất. sự hài lòng về kỹ thuật và năng suất
Có một câu chuyện về việc chuyển sang phiên bản mới nhất của. MẠNG LƯỚI? NET dành cho các ứng dụng gốc trên đám mâyNET 7 giúp việc xây dựng các ứng dụng gốc trên đám mây trở nên dễ dàng hơn bao giờ hết. Sử dụng các dịch vụ được kết nối của Visual Studio để kết nối an toàn với dịch vụ dữ liệu và mã hóa chuỗi kết nối của bạn một cách an toàn trong tệp bí mật người dùng hoặc Azure Key Vault. Xây dựng ứng dụng của bạn trực tiếp vào hình ảnh vùng chứa. Sử dụng Entity Framework 7 để viết các truy vấn Truy vấn Tích hợp Ngôn ngữ (LINQ) được gõ mạnh sử dụng hỗ trợ JSON của SQL Server để trích xuất nhanh nội dung từ các tài liệu JSON được lưu trữ trong cơ sở dữ liệu quan hệ của bạn. Cung cấp các tài liệu JSON an toàn thông qua các điểm cuối được xác thực chỉ bằng một vài dòng mã với trải nghiệm API tối thiểu. Thu thập thông tin chuyên sâu về ứng dụng đang chạy của bạn với Open Telemetry Hỗ trợ Azure vào Ngày Zerokhông chỉ là. NET 7 tuyệt vời để xây dựng các ứng dụng gốc trên đám mây; . NET 7 hôm nay, cho bản phát hành thứ ba liên tiếp, như. MẠNG 5. 0 và 6. 0. Trong suốt tuần đầu tiên phát hành, bạn có thể thấy thời gian khởi động lâu hơn một chút đối với. NET 7, như. NET 7 SDK sẽ được cài đặt kịp thời cho những khách hàng tạo Dịch vụ ứng dụng mới bằng cách sử dụng. MẠNG 7. Ngoài ra, nếu bạn đang chạy một. NET 7, chỉ cần khởi động lại Dịch vụ ứng dụng của bạn sẽ cập nhật cho bạn các bit GA Hỗ trợ vùng chứa tích hợpMức độ phổ biến và mức độ sử dụng thực tế của các container đang tăng lên và đối với nhiều công ty, chúng đại diện cho cách triển khai lên đám mây ưa thích. Tuy nhiên, làm việc với vùng chứa sẽ thêm công việc mới vào công việc tồn đọng của nhóm, bao gồm xây dựng và xuất bản hình ảnh, kiểm tra tính bảo mật và tuân thủ cũng như tối ưu hóa hiệu suất của hình ảnh. Chúng tôi tin rằng có cơ hội để tạo ra trải nghiệm tốt hơn, hợp lý hơn với. thùng chứa NET Giờ đây, bạn có thể tạo các phiên bản được đóng gói trong các ứng dụng của mình chỉ với 4. Chúng tôi đã xây dựng giải pháp này với mục tiêu tích hợp liền mạch với logic xây dựng hiện có, tận dụng hiệu suất thời gian chạy và công cụ C# phong phú của riêng chúng tôi, đồng thời được tích hợp ngay trong hộp của giải pháp này. NET SDK để cập nhật thường xuyênHình ảnh vùng chứa hiện là loại đầu ra được hỗ trợ của. NET SDK 5Để tìm hiểu thêm về hỗ trợ vùng chứa tích hợp, hãy xem Thông báo hỗ trợ vùng chứa tích hợp cho. NET SDK Microsoft OrleansMicrosoft Orleans 7. 0 sẽ cung cấp một mô hình lập trình đơn giản hơn với các Hạt “đối tượng CLR cũ đơn giản” (POCO), mang lại hiệu suất tốt hơn tới 150% so với 3. x, đồng thời giới thiệu các cải tiến về tuần tự hóa và tính bất biến mới. ASP. NET Core có thể thêm trạng thái phân tán một cách đơn giản bằng cách sử dụng Orleans và tự tin rằng các ứng dụng của họ sẽ mở rộng theo chiều ngang mà không cần thêm độ phức tạp. Chúng tôi sẽ tiếp tục đầu tư để đưa các tính năng của Orleans đến gần hơn với ASP. NET để đảm bảo các ứng dụng web và API của bạn đã sẵn sàng cho quy mô đám mây, các kịch bản lưu trữ phân tán hoặc thậm chí là triển khai nhiều đám mây. Với sự hỗ trợ cho hầu hết các cơ chế lưu trữ và cơ sở dữ liệu phổ biến và khả năng chạy mọi nơi ASP. NET Core có thể chạy, Orleans là một lựa chọn tuyệt vời để cho phép bạn. NET với các khả năng phân tán, gốc trên nền tảng đám mây mà không cần tìm hiểu khung hoặc bộ công cụ mới. Tìm hiểu thêm về Orleans 7 khả năng quan sátMục tiêu của khả năng quan sát là giúp bạn hiểu rõ hơn về trạng thái của ứng dụng khi ứng dụng mở rộng quy mô và độ phức tạp kỹ thuật tăng lên. . NET đã chấp nhận OpenTelemetry đồng thời thực hiện các cải tiến sau đây trong. MẠNG 7 Hoạt động giới thiệu. Sự kiện thay đổi hiện tạiMột triển khai điển hình của theo dõi phân tán sử dụng một 5 để theo dõi “bối cảnh nhịp” của các chuỗi được quản lý. Các thay đổi đối với bối cảnh nhịp được theo dõi bằng cách sử dụng hàm tạo 5 có tham số 7. Tuy nhiên, với việc 8 trở thành tiêu chuẩn để biểu thị các khoảng thời gian được sử dụng bởi OpenTelemetry, không thể đặt trình xử lý thay đổi giá trị vì ngữ cảnh được theo dõi qua 9. Thay vào đó, sự kiện thay đổi mới có thể được sử dụng để nhận thông báo mong muốn
Phơi bày các thuộc tính hoạt động của người biểu diễnCác phương pháp mới được tiết lộ sau đây có thể được sử dụng trong các tình huống quan trọng về hiệu suất để liệt kê các thuộc tính 31, 32 và 33 của 8 mà không có bất kỳ phân bổ bổ sung nào và quyền truy cập vào mục hiệu suất
Phơi bày các phương thức liệt kê ActivityEvent và ActivityLink của người biểu diễnTương tự như trên, các đối tượng Thẻ 34 và 35 cũng được hiển thị để giảm bất kỳ phân bổ bổ sung nào cho quyền truy cập mục hiệu suất 3Giản dịC#11 & F#7Các bổ sung mới nhất cho ngôn ngữ C# và F# là C# 11 và F# 7. C# 11 làm cho các tính năng mới như toán học chung trở nên khả thi trong khi đơn giản hóa mã của bạn với các cải tiến khởi tạo đối tượng, chuỗi ký tự thô, v.v. Toán chungNET 7 giới thiệu các giao diện chung liên quan đến toán học mới cho thư viện lớp cơ sở. Tính khả dụng của các giao diện này có nghĩa là bạn có thể hạn chế một tham số loại của một loại hoặc phương thức chung là "giống như số". Ngoài ra, C# 11 trở lên cho phép bạn xác định các thành viên giao diện ảo tĩnh. Bởi vì các toán tử phải được khai báo là tĩnh, tính năng C# mới này cho phép các toán tử được khai báo trong các giao diện mới cho các loại giống như số Cùng với nhau, những cải tiến này cho phép bạn thực hiện các phép toán một cách tổng quát—nghĩa là, mà không cần biết chính xác loại mà bạn đang làm việc. Ví dụ: nếu bạn muốn viết một phương thức cộng hai số, trước đó bạn phải thêm quá tải phương thức cho mỗi loại (ví dụ: 36 và 37. Bây giờ bạn có thể viết một phương thức chung, duy nhất, trong đó tham số kiểu bị ràng buộc là một kiểu giống như số 2Trong phương thức này, tham số loại T bị ràng buộc là loại triển khai giao diện 38 mới. 38 triển khai giao diện 20, chứa giao diện 21. Điều đó cho phép phương pháp cộng chung hai số. Phương pháp này có thể được sử dụng với bất kỳ. NET, bởi vì tất cả chúng đã được cập nhật để triển khai 38 trong. MẠNG 7Các tác giả thư viện sẽ được hưởng lợi nhiều nhất từ các giao diện toán học chung, bởi vì họ có thể đơn giản hóa cơ sở mã của mình bằng cách loại bỏ các tình trạng quá tải “dư thừa”. Các nhà phát triển khác sẽ được hưởng lợi một cách gián tiếp vì các API mà họ sử dụng có thể bắt đầu hỗ trợ nhiều loại hơn Kiểm tra tài liệu về Generic Math để biết thêm thông tin về các API cốt lõi được hiển thị bởi mỗi giao diện Chữ chuỗi thôHiện đã có định dạng mới cho chuỗi ký tự. Chuỗi ký tự thô có thể chứa văn bản tùy ý, bao gồm khoảng trắng, dòng mới, dấu ngoặc kép được nhúng và các ký tự đặc biệt khác mà không yêu cầu trình tự thoát. Một chuỗi ký tự thô bắt đầu bằng ít nhất ba ký tự trích dẫn kép (“””) và kết thúc bằng cùng một số ký tự trích dẫn kép 8thư viện NETNhiều. NET của bên thứ nhất đã thấy những cải tiến đáng kể trong. NET7 phát hành. Bạn sẽ thấy hỗ trợ cho chú thích nullable dành cho Microsoft. Tiện ích mở rộng. * gói, tùy chỉnh hợp đồng và phân cấp loại cho Hệ thống. Chữ. Json và các API Tar mới để giúp bạn ghi dữ liệu ở định dạng Lưu trữ băng từ (TAR) để đặt tên cho một số Chú thích Nullable cho Microsoft. Tiện ích mở rộngTất cả Microsoft. Tiện ích mở rộng. * các thư viện hiện chứa tính năng chọn tham gia C# 8 cho phép trình biên dịch theo dõi tính vô hiệu của loại tham chiếu để nắm bắt các tham chiếu null tiềm năng. Điều này giúp bạn giảm thiểu khả năng mã của bạn khiến bộ thực thi gặp lỗi 23Hệ thống. Thành phần. lưu trữMột API mới đã được thêm vào để cho phép một phiên bản đối tượng duy nhất vào vùng chứa 24 cung cấp chức năng tương tự như các giao diện kế thừa như 25 thông qua API 26 3Thêm Micro giây và Nano giây vào TimeStamp, DateTime, DateTimeOffset và TimeOnlyTrước. NET 7, mức tăng thời gian thấp nhất có sẵn trong các cấu trúc ngày và giờ khác nhau là "đánh dấu" có sẵn trong thuộc tính Ticks. Để tham khảo, một lần đánh dấu là 100ns. Theo truyền thống, các nhà phát triển phải thực hiện tính toán trên giá trị “đánh dấu” để xác định giá trị micro giây và nano giây. Trong. NET 7, chúng tôi đã giới thiệu cả micro giây và nano giây cho việc triển khai ngày và giờ 4Microsoft. Tiện ích mở rộng. Bộ nhớ đệmChúng tôi đã thêm hỗ trợ số liệu cho 27, đây là API mới của 28 chứa các lần truy cập, bỏ lỡ bộ đệm và kích thước ước tính cho 27. Bạn có thể lấy một phiên bản của 28 bằng cách gọi 81 khi cờ 82 được bậtAPI 81 cho phép nhà phát triển ứng dụng sử dụng bộ đếm sự kiện hoặc API số liệu để theo dõi số liệu thống kê cho một hoặc nhiều bộ nhớ cache 30Sau đó, bạn có thể xem số liệu thống kê bên dưới bằng công cụ 84 31Hệ thống. định dạng. API TarChúng tôi đã thêm một tổ hợp 85 mới chứa các API đa nền tảng cho phép đọc, viết, lưu trữ và giải nén các kho lưu trữ Tar. Các API này thậm chí còn được SDK sử dụng để tạo vùng chứa làm mục tiêu xuất bản 32Bộ chuyển đổi loạiHiện tại có các bộ chuyển đổi loại tiếp xúc cho các loại nguyên thủy mới được thêm vào 86, 87, 88, 89 và 30 33Đây là những bộ chuyển đổi hữu ích để dễ dàng chuyển đổi sang các loại nguyên thủy hơn 34Hệ thống. Chữ. Tùy chỉnh hợp đồng JsonHệ thống. Chữ. Json xác định làm thế nào một nhất định. NET có nghĩa là được tuần tự hóa và giải tuần tự hóa bằng cách xây dựng hợp đồng JSON cho loại đó. Hợp đồng được lấy từ hình dạng của loại — chẳng hạn như các hàm tạo, thuộc tính và trường có sẵn của nó và liệu nó có triển khai 31 hay 32 hay không — tại thời điểm chạy bằng cách sử dụng sự phản chiếu hoặc tại thời điểm biên dịch bằng cách sử dụng trình tạo nguồn. Trong các bản phát hành trước, người dùng có thể thực hiện các điều chỉnh hạn chế đối với hợp đồng dẫn xuất bằng cách sử dụng Hệ thống. Chữ. Chú thích thuộc tính Json, giả sử chúng có thể sửa đổi khai báo kiểuSiêu dữ liệu hợp đồng cho một loại 33 nhất định được biểu diễn bằng cách sử dụng 34, trong các phiên bản trước được dùng làm mã thông báo mờ được sử dụng riêng trong API trình tạo nguồn. bắt đầu từ. NET 7, hầu hết các khía cạnh của siêu dữ liệu hợp đồng 35 đã được hiển thị và khiến người dùng có thể sửa đổi. Tùy chỉnh hợp đồng cho phép người dùng viết logic giải quyết hợp đồng JSON của riêng họ bằng cách sử dụng triển khai giao diện 5 35Trình giải quyết hợp đồng trả về một phiên bản 35 đã định cấu hình cho tổ hợp 38 và 39 đã cho. Nó có thể trả về 40 nếu trình phân giải không hỗ trợ siêu dữ liệu cho loại đầu vào đã chỉ địnhGiải pháp hợp đồng được thực hiện theo mặc định, bộ nối tiếp dựa trên sự phản chiếu hiện được hiển thị thông qua lớp 41, thực hiện 5. Lớp này cho phép người dùng mở rộng độ phân giải dựa trên phản xạ mặc định với các sửa đổi tùy chỉnh hoặc kết hợp nó với các trình phân giải khác (chẳng hạn như các trình phân giải do nguồn tạo ra)Bắt đầu từ. NET 7, lớp 43 được sử dụng trong tạo nguồn cũng triển khai 5. Để tìm hiểu thêm về trình tạo nguồn, hãy xem Cách sử dụng trình tạo nguồn trong Hệ thống. Chữ. JsonPhiên bản 39 có thể được định cấu hình bằng trình phân giải tùy chỉnh bằng thuộc tính 46 mới 36Kiểm tra bài đăng trên blog để biết thêm chi tiết về Tùy chỉnh hợp đồng Hệ thống. Chữ. Phân cấp loại JsonHệ thống. Chữ. Json hiện hỗ trợ tuần tự hóa đa hình và giải tuần tự hóa các hệ thống phân cấp loại do người dùng xác định. Điều này có thể được kích hoạt bằng cách trang trí lớp cơ sở của một hệ thống phân cấp kiểu với 47 mới 37Cấu hình này cho phép tuần tự hóa đa hình cho 48, đặc biệt khi loại thời gian chạy là 49 38Lưu ý rằng điều này không kích hoạt quá trình khử lưu huỳnh đa hình vì tải trọng sẽ bị ngắt làm tròn dưới dạng 48 39Xem bài đăng trên blog để biết thêm chi tiết về Phân cấp loại NET SDKCác. NET SDK tiếp tục bổ sung các tính năng mới để giúp bạn làm việc hiệu quả hơn bao giờ hết. Trong. NET 7, chúng tôi cải thiện trải nghiệm của bạn với. NET CLI, tạo các mẫu và quản lý các gói của bạn ở một vị trí trung tâm Trình phân tích cú pháp CLI và Hoàn thành tabLệnh 301 đã được cung cấp một giao diện nhất quán và trực quan hơn cho nhiều lệnh con mà người dùng biết và yêu thích. Ngoài ra còn có hỗ trợ hoàn thành tab của các tùy chọn và đối số mẫu. Giờ đây, CLI đưa ra phản hồi về các đối số và tùy chọn hợp lệ khi người dùng nhậpĐây là kết quả trợ giúp mới làm ví dụ 50 302 đã hỗ trợ hoàn thành tab trong một thời gian dài với các trình bao phổ biến như PowerShell, bash, zsh và cá để kể tên một số. Tuy nhiên, tùy thuộc vào các lệnh dotnet riêng lẻ để triển khai các lần hoàn thành có ý nghĩa. Vì. NET 7, lệnh 301 đã học cách cung cấp tính năng hoàn thành tab 51Điều này có thể hữu ích để bạn đưa ra lựa chọn khi tạo mới. NET để biết những tùy chọn và đối số nào có sẵn cho bạn 52Ngoài ra, những tùy chọn và đối số phổ biến nào thường bị nhầm lẫn hoặc không được hỗ trợ cho lệnh đã cho. Thay vào đó, bạn chỉ được hiển thị những gì được hỗ trợ trong phiên bản hiện tại của. CLI MẠNG 53Tạo mẫuNET 7 thêm khái niệm ràng buộc vào. NET mẫu. Các ràng buộc cho phép bạn xác định ngữ cảnh cho phép các mẫu của bạn, điều này giúp công cụ mẫu xác định mẫu nào sẽ hiển thị trong các lệnh như dotnet new list. Đối với bản phát hành này, chúng tôi đã thêm hỗ trợ cho ba loại ràng buộc
Trong mọi trường hợp, việc mô tả các ràng buộc này cũng dễ như thêm một phần ràng buộc mới vào tệp cấu hình của mẫu của bạn 54Chúng tôi cũng đã thêm một khả năng mới cho các tham số lựa chọn. Đây là khả năng người dùng chỉ định nhiều giá trị trong một lựa chọn. Điều này có thể được sử dụng giống như cách có thể sử dụng enum kiểu Cờ. Các ví dụ phổ biến của loại tham số này có thể là
Chọn tham gia hành vi này cũng đơn giản như thêm 304 vào định nghĩa tham số trong cấu hình mẫu của bạn. Sau khi thực hiện xong, bạn sẽ có quyền truy cập vào một số chức năng của trình trợ giúp để sử dụng trong nội dung của mẫu cũng như giúp phát hiện các giá trị cụ thể mà người dùng đã chọnQuản lý gói trung tâmQuản lý phụ thuộc là một tính năng cốt lõi của NuGet. Quản lý các phụ thuộc cho một dự án có thể dễ dàng. Việc quản lý các thành phần phụ thuộc cho các giải pháp đa dự án có thể gặp khó khăn khi chúng bắt đầu mở rộng về quy mô và độ phức tạp. Trong các trường hợp bạn quản lý các phần phụ thuộc chung cho nhiều dự án khác nhau, bạn có thể tận dụng các tính năng quản lý gói trung tâm của NuGet để thực hiện tất cả những điều này một cách dễ dàng tại một vị trí duy nhất Để bắt đầu với quản lý gói trung tâm, bạn có thể tạo tệp 305 ở thư mục gốc của giải pháp và đặt thuộc tính MSBuild 306 thành trueBên trong, bạn có thể xác định từng phiên bản gói tương ứng cần có cho giải pháp của mình bằng cách sử dụng các phần tử 307 xác định phiên bản và ID gói 55Trong một dự án của giải pháp, sau đó, bạn có thể sử dụng cú pháp 308 tương ứng mà bạn biết và yêu thích, nhưng không có thuộc tính Phiên bản để suy ra phiên bản được quản lý tập trung thay thế 56Màn biểu diễnHiệu suất đã là một phần quan trọng của mọi. phát hành NET. Hàng năm, các. NET xuất bản một blog về những cải tiến mới nhất. Đây là một lời giới thiệu ngắn từ bài đăng hiệu suất mới nhất
Dưới đây là một bản tóm tắt ngắn về một số cải tiến hiệu suất cho trình biên dịch JIT. Nếu bạn muốn tìm hiểu sâu về tất cả các thay đổi, hãy xem Cải tiến hiệu suất trong. MẠNG 7 Thay thế ngăn xếp (OSR)Thay thế ngăn xếp (OSR) cho phép bộ thực thi thay đổi mã được thực thi bởi các phương thức hiện đang chạy ở giữa quá trình thực thi phương thức, mặc dù các phương thức đó đang hoạt động “trên ngăn xếp. ” Nó phục vụ như một sự bổ sung cho việc biên dịch theo tầng OSR cho phép các phương thức chạy dài chuyển sang các phiên bản được tối ưu hóa hơn trong quá trình thực thi, do đó, bộ thực thi có thể nhanh chóng JIT tất cả các phương thức lúc đầu và sau đó chuyển sang các phiên bản được tối ưu hóa hơn khi các phương thức đó được gọi thường xuyên thông qua quá trình biên dịch theo tầng hoặc có các vòng lặp chạy dài xuyên suốt OSR cải thiện thời gian khởi động. Hầu như tất cả các phương pháp hiện nay ban đầu được sử dụng bởi JIT nhanh. Chúng tôi đã thấy thời gian khởi động được cải thiện 25% trong các ứng dụng nặng như Avalonia “IL” spy và các tiêu chuẩn TechEmpower khác nhau mà chúng tôi theo dõi cho thấy thời gian cho yêu cầu đầu tiên được cải thiện từ 10-30% OSR cũng có thể cải thiện hiệu suất của các ứng dụng và đặc biệt là các ứng dụng sử dụng Dynamic PGO, vì các phương thức có vòng lặp hiện được tối ưu hóa tốt hơn. Ví dụ: microbenchmark 309 cho thấy sự cải thiện đáng kể khi bật OSRTối ưu hóa theo hướng dẫn hồ sơ (PGO)Tối ưu hóa theo hướng dẫn hồ sơ (PGO) đã xuất hiện từ lâu trong một số ngôn ngữ và trình biên dịch. Ý tưởng cơ bản là bạn biên dịch ứng dụng của mình, yêu cầu trình biên dịch đưa thiết bị đo đạc vào ứng dụng để theo dõi các mẩu thông tin thú vị khác nhau. Sau đó, bạn đặt ứng dụng của mình qua các bước của ứng dụng, chạy qua các tình huống phổ biến khác nhau, khiến công cụ đó "lập hồ sơ" điều gì sẽ xảy ra khi ứng dụng được thực thi và kết quả của điều đó sau đó được lưu lại. Sau đó, ứng dụng được biên dịch lại, cung cấp các kết quả thiết bị đó trở lại trình biên dịch và cho phép ứng dụng tối ưu hóa ứng dụng theo đúng cách ứng dụng dự kiến sẽ được sử dụng Cách tiếp cận PGO này được gọi là “PGO tĩnh”, vì tất cả thông tin đều được thu thập trước khi triển khai thực tế và đó là điều. NET đã hoạt động dưới nhiều hình thức khác nhau trong nhiều năm. Sự phát triển thú vị trong. NET là “PGO động”, được giới thiệu trong. NET 6, nhưng bị tắt theo mặc định Dynamic PGO tận dụng lợi thế của việc biên dịch theo tầng. JIT cung cấp mã bậc 0 để theo dõi số lần phương thức được gọi hoặc trong trường hợp vòng lặp, số lần vòng lặp thực thi. Biên dịch theo tầng có thể tạo ra nhiều khả năng khác nhau. Ví dụ: nó có thể theo dõi chính xác loại cụ thể nào được sử dụng làm mục tiêu của một giao diện gửi đi và sau đó, ở cấp 1, chuyên biệt hóa mã để mong đợi các loại phổ biến nhất (điều này được gọi là "ảo hóa được bảo vệ" hoặc GDV . Bạn có thể thấy điều này trong ví dụ nhỏ này. Đặt biến môi trường 310 thành 1 rồi chạy trên. MẠNG 7 57Cải tiến chính mà bạn nhận được với PGO là nó hiện hoạt động với OSR trong. MẠNG 7. Điều này có nghĩa là các phương thức chạy nóng thực hiện điều phối giao diện có thể nhận được các tối ưu hóa ảo hóa/nội tuyến này Khi PGO bị vô hiệu hóa, bạn sẽ nhận được thông lượng hiệu suất tương tự cho. MẠNG 6 và. MẠNG 7 MethodRuntimeMeanRatioDelegatePGO. MẠNG 6. 01. 665 ns1. 00Đại biểuPGO. MẠNG 7. 01. 659 ns1. 00Nhưng hình ảnh thay đổi khi bạn kích hoạt PGO động trong một. csproj qua 311 hoặc biến môi trường của 312. . NET 6 nhanh hơn ~14%, nhưng. NET 7 nhanh hơn ~3 lầnMethodRuntimeMeanRatioDelegatePGO. MẠNG 6. 01. 427. 7 ns1. 00Đại biểuPGO. MẠNG 7. 0539. 00. 38AOT gốcĐối với nhiều người, từ “hiệu suất” trong ngữ cảnh của phần mềm là về thông lượng. Một cái gì đó thực thi nhanh như thế nào? . Nhưng có nhiều khía cạnh khác để thực hiện. Nó tiêu thụ bao nhiêu bộ nhớ? Và sau đó là những mối quan tâm liên quan. Để đạt được những mục tiêu này, những phụ thuộc nào được yêu cầu? . MẠNG 7 NET từ lâu đã hỗ trợ tạo mã AOT. Ví dụ,. NET Framework có nó ở dạng 313 và. NET Core có nó ở dạng 314. Cả hai giải pháp đó đều liên quan đến một tiêu chuẩn. NET có một số IL của nó đã được biên dịch thành mã hợp ngữ, nhưng không phải tất cả các phương thức đều có mã hợp ngữ được tạo cho chúng, nhiều thứ có thể làm mất hiệu lực mã hợp ngữ đã được tạo, bên ngoài. NET mà không có bất kỳ mã hợp ngữ gốc nào có thể được tải, v.v., và trong tất cả các trường hợp đó, thời gian chạy tiếp tục sử dụng trình biên dịch JIT. AOT bản địa là khác nhau. Đó là một sự phát triển của CoreRT, bản thân nó là một sự phát triển của. NET Native và hoàn toàn không có JITTệp nhị phân có được từ việc xuất bản bản dựng là tệp thực thi hoàn toàn độc lập ở định dạng tệp dành riêng cho nền tảng của nền tảng đích (ví dụ: COFF trên Windows, ELF trên Linux, Mach-O trên macOS) không có phụ thuộc bên ngoài nào khác ngoài tiêu chuẩn đó . Và nó hoàn toàn có nguồn gốc. không có IL trong tầm nhìn, không có JIT, không có gì. Tất cả mã bắt buộc được biên dịch và/hoặc liên kết thành tệp thực thi, bao gồm cùng một GC được sử dụng với tiêu chuẩn. NET và thời gian chạy tối thiểu cung cấp các dịch vụ xung quanh luồng và những thứ tương tự Tất cả điều đó mang lại lợi ích to lớn. thời gian khởi động cực nhanh, triển khai nhỏ và hoàn toàn khép kín và khả năng chạy ở những nơi mà trình biên dịch JIT không cho phép (vì các trang bộ nhớ có thể ghi được sau đó không thể thực thi được). Nó cũng mang lại những hạn chế. Không có JIT có nghĩa là không tải động các tập hợp tùy ý (ví dụ: 315) và không phát ra phản xạ (ví dụ: 316) và với mọi thứ được biên dịch và liên kết trong ứng dụng, điều đó có nghĩa là nhiều chức năng hơn được sử dụng (hoặc có thể được sử dụng) và . Ngay cả với những hạn chế đó, đối với một loại ứng dụng nhất định, AOT bản địa là một bổ sung cực kỳ thú vị và đáng hoan nghênh cho. MẠNG 7Ngày nay, AOT bản địa tập trung vào các ứng dụng bảng điều khiển, vì vậy hãy tạo một ứng dụng bảng điều khiển 58Bây giờ bạn đã có ứng dụng bảng điều khiển “Xin chào thế giới”. Để cho phép xuất bản ứng dụng với AOT gốc, hãy chỉnh sửa. csproj để bao gồm những điều sau đây trong 317 hiện có 59Ứng dụng hiện được định cấu hình đầy đủ để có thể nhắm mục tiêu AOT bản địa. Tất cả những gì còn lại là xuất bản. Nếu bạn muốn xuất bản lên thời gian chạy 318, bạn có thể sử dụng lệnh sau 0Điều này tạo ra một tệp thực thi trong thư mục xuất bản đầu ra 1Đó ~3. 5MB. exe là tệp thực thi và. pdb bên cạnh là thông tin gỡ lỗi, không cần thiết khi triển khai ứng dụng. Bây giờ bạn có thể sao chép 319 đó vào bất kỳ máy Windows 64-bit nào, bất kể. NET có thể được cài đặt hoặc không ở bất kỳ đâu trên hộp và ứng dụng sẽ chạyNET 7 được hỗ trợNET 7 được hỗ trợ chính thức bởi Microsoft. Nó được gắn nhãn là bản phát hành Hỗ trợ thời hạn tiêu chuẩn (STS) sẽ được hỗ trợ trong 18 tháng. đánh số lẻ. NET là các bản phát hành STS được hỗ trợ và vá lỗi miễn phí trong sáu tháng sau bản phát hành STS hoặc LTS tiếp theo. Xem của chúng tôi. NET và. NET Core Support Lifecycle để biết thêm chi tiết Nhận xétGiúp chúng tôi định hình. NET 8 và các bản phát hành trong tương lai bằng cách nâng cấp các vấn đề trên GitHub, cung cấp phản hồi về Cộng đồng nhà phát triển và chia sẻ của bạn. NET và các dự án với những người khác trong cộng đồng Chia sẻ suy nghĩ của bạn và được thông báo về những tin tức mới nhất xung quanh. NET 7 với #dotnet7 NET Conf 2022Hãy chắc chắn để điều chỉnh vào. NET Conf 2022. Đây là sự kiện dành cho nhà phát triển ảo, kéo dài ba ngày, miễn phí nhằm kỷ niệm các bản phát hành chính của. MẠNG LƯỚI. Tham gia với chúng tôi hôm nay, ngày 8 tháng 11 đến ngày 10 tháng 11 để tìm hiểu về. NET 7 trực tiếp từ các nhóm sản phẩm tại Microsoft và. NET đằng sau việc phát hành. . NET Conf có hơn 80 phiên bao gồm vô số tính năng mới hỗ trợ ứng dụng của bạn được xây dựng bằng. MẠNG 7 Tải xuống. NET 7 hôm nayChúng tôi chỉ muốn kết thúc bằng cách nói NET không thể tồn tại nếu không có cộng đồng. Các. NET là một dự án thông qua sự đóng góp độc đáo và sáng tạo của mọi người. Những thành tựu to lớn và sự hào phóng này đến từ sự hỗ trợ và quan tâm đến những người xung quanh chúng ta. Cảm ơn bạn đã tham gia, chia sẻ và thuộc về. cộng đồng mạng NET 7 là một bản phát hành chính giúp cải thiện chất lượng cuộc sống của nhà phát triển của bạn bằng cách cải thiện các nguyên tắc cơ bản như hiệu suất, chức năng và khả năng sử dụng. Chúng tôi hy vọng những tính năng và bổ sung mới này tiếp tục làm hài lòng việc sử dụng của bạn. nền tảng NET nhanh hơn bao nhiêu. MẠNG 7?Hiệu suất phản chiếu — Nhanh hơn 75% . Bắt đầu với những cải tiến về hiệu suất của phiên bản mới. NET 7, trước tiên chúng tôi có sự cải tiến của Hệ thống.
Dotnet 7 có được phát hành không?Không chỉ là. NET 7 tuyệt vời để xây dựng các ứng dụng gốc trên đám mây; . Azure's PaaS services like App Service for Windows and Linux, Static Web Apps, Azure Functions, and Azure Container Apps are ready for . NET 7 hôm nay , cho bản phát hành thứ ba liên tiếp, như. MẠNG 5. 0 và 6. 0.
Là. NET 7 đã sẵn sàng chưa?Hiện đã có trong bản phát hành chính thức ,. NET 7 mang đến các cải tiến về hiệu suất, phiên bản mới của C#, công cụ chứa và đám mây gốc cũng như các cải tiến sâu rộng đối với. NET MAUI và khác. NET thư viện và khuôn khổ.
|