sách gpt4 ai đã đi

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

In lại Tác giả:qq735679552 Thời gian cập nhật: 2022-09-27 22:32:09 36 4
mua khóa gpt4 Nike

CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.

Bài đăng trên blog CFSDN này về các khái niệm và sự khác biệt của .Net Framework .Net .NET Standard được tác giả thu thập và sắp xếp. Nếu bạn quan tâm đến bài viết này, vui lòng thích nó.

Sự khác biệt giữa .Net Framework .Net .NET Standard

1. .NET Framework

Mặc dù .NET Framework có thể sẽ trở thành dĩ vãng trong tương lai, nhưng nó vẫn đang được sử dụng ở nhiều nơi. Hệ thống này rất quen thuộc với những lập trình viên C# lâu năm, do đó người mới không cần phải tốn nhiều công sức để học.

.NET Framework là công nghệ cho phép xây dựng và chạy các ứng dụng Windows và dịch vụ Web. .NET Framework bao gồm thời gian chạy ngôn ngữ chung (CLR) và thư viện lớp .NET Framework. Thời gian chạy ngôn ngữ chung là nền tảng của .NET Framework. Có thể coi thời gian chạy như một tác nhân quản lý mã khi mã thực thi, cung cấp các dịch vụ cốt lõi như quản lý bộ nhớ, quản lý luồng và điều khiển từ xa, đồng thời thực thi tính an toàn kiểu nghiêm ngặt và các hình thức chính xác khác của mã giúp cải thiện tính bảo mật và độ tin cậy.

2. .Lưới

.net được phát triển từ .net core, với nhiều tối ưu hóa về hiệu suất và kiến ​​trúc ở lớp dưới cùng, còn các API ứng dụng và cách sử dụng ở lớp trên hầu hết giống với .NET Framework.

.NET là một nền tảng phát triển mã nguồn mở miễn phí để xây dựng nhiều ứng dụng khác nhau. Khi sử dụng .NET, bất kể bạn đang xây dựng loại ứng dụng nào (web, api, ứng dụng máy tính để bàn...), thì các tệp mã và dự án đều giống nhau. Truy cập vào cùng một thời gian chạy, API và tính năng ngôn ngữ cho mọi ứng dụng. NET là mã nguồn mở, sử dụng giấy phép MIT và Apache 2. .NET là một dự án của .NET Foundation. Microsoft hỗ trợ .NET trên Windows, macOS và Linux. Nó được cập nhật thường xuyên để đảm bảo an ninh và chất lượng. .NET hỗ trợ ba ngôn ngữ lập trình: C#, F# và Visual Basic.

3. Chuẩn .NET

.NET Standard là một bộ thông số kỹ thuật API .NET chính thức dành cho nhiều triển khai .NET. Động lực đằng sau việc ra mắt .NET Standard là để tăng tính nhất quán trong hệ sinh thái .NET. Tuy nhiên, .NET 5 có cách tiếp cận khác để thiết lập sự tuân thủ mà không yêu cầu .NET Standard trong nhiều trường hợp.

Vì vậy, chuẩn .net là đặc tả .Net Api chứ không phải là cách triển khai. Mục đích của nó là cải thiện tính nhất quán của .net. Miễn là khuôn khổ hỗ trợ nó, nó có thể được triển khai bằng cách sử dụng thông số kỹ thuật chuẩn .net. Nhưng! .NET 5 có cách tiếp cận khác để thiết lập tính nhất quán, nghĩa là .NET 5 sẽ bắt đầu quá trình chuyển đổi sang .NET Framework nếu bạn chỉ sử dụng nó cho .NET Framework nhưng hỗ trợ .NET Standard! (Tên hơi khó hiểu) .NET Standard không bị loại bỏ. Đối với các thư viện có thể được sử dụng bởi nhiều triển khai .NET, .NET Standard vẫn được yêu cầu. Ví dụ, các thư viện nội bộ được sử dụng trên cả .NET Framework và .NET cần tuân theo thông số kỹ thuật .NET Standard để cả hai nền tảng đều có thể sử dụng, nhưng điều này phụ thuộc vào phiên bản hỗ trợ .NET Standard, như thể hiện trong hình bên dưới. Khi tạo thư viện lớp, bạn có thể chọn nhiều khuôn khổ hỗ trợ khác nhau.

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

Nhiều triển khai .NET khác nhau nhắm tới một phiên bản cụ thể của .NET Standard. Mỗi phiên bản triển khai .NET đều thông báo phiên bản .NET Standard cao nhất mà nó hỗ trợ và thông báo này ngụ ý rằng nó cũng hỗ trợ các phiên bản trước đó.

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

3. Hướng dẫn vận hành thực tế

1. Tạo thư viện lớp .NET Standard và thêm phương thức kiểm tra đơn giản.

lớp công khai NetStandardTest{ public static void PrintLocation() { //In đường dẫn FileStream Console.WriteLine(typeof(FileStream).Assembly.Location); //In đường dẫn NetStandardTest Console.WriteLine(typeof(NetStandardTest).Assembly.Location); }}

Trong phương pháp thử nghiệm này, chúng tôi đã thêm hai dòng mã in. Nó chủ yếu in đường dẫn FileStream. Đồng thời, thư viện lớp .NET Standard mà chúng tôi tạo ra là 2.0, vì chúng tôi sẽ tạo một bảng điều khiển .net framework tiếp theo, không hỗ trợ 2.1.

2. Tạo chương trình console .net 5, .net framework 4.6.1.

Tạo hai dự án bảng điều khiển và gọi phương thức thư viện nội bộ trong phương thức chính.

void tĩnh Main(string[] args){ NetStandardTest.PrintLocation(); Console.ReadKey();}

Cấu trúc giải pháp như sau.

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

3. Chạy phân tích.

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

Từ kết quả, chúng ta có thể thấy rằng cùng một thư viện lớp .NET Standard, được tham chiếu trên các nền tảng khác nhau, sẽ gọi cùng một FileStream với các địa chỉ khác nhau. Sau đó, chúng ta định vị FileStream trong thư viện lớp .NET Standard bằng phím F12 và xem mã lệnh như sau.

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

Chúng ta hãy so sánh ba địa chỉ này với nhau:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.8\System.Private.CoreLib.dllC:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dllC:\Users\Administrator\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\netstandard.dll

Chúng tôi dịch ngược ba tệp dll bằng dnspy, tìm FileStream và xem mã của phương thức BeginRead.

  • chuẩn .net

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

  • khung .net

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

  • .mạng 5

Các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard

Từ việc so sánh ba kết quả trên, ta thấy rằng không có triển khai nào theo chuẩn .net mà chỉ có phương thức được định nghĩa, tức là định nghĩa một chuẩn để giải thích những gì có trong lớp của tôi. Khi gọi, chúng ta sẽ tìm thấy cách triển khai của framework tương ứng dựa trên framework mà chúng ta đang sử dụng. Đây là lý do tại sao chuẩn .net có thể tham chiếu đến nhiều khuôn khổ và tại sao .net framework không thể sử dụng 2.1 vì nó không triển khai các API mới được thêm vào trong 2.1. Về lý do tại sao dll chuẩn .net mà chúng ta gọi lại được chuyển sang dll khung tương ứng, điều này là do công nghệ chuyển kiểu lắp ráp chéo sử dụng Type Forwarding được gọi là "Shim", đây là một phương tiện quan trọng để đạt được khả năng tái sử dụng lắp ráp chéo nền tảng. Để biết thêm thông tin về công nghệ gioăng này, vui lòng tham khảo bài viết này https://www.cnblogs.com/artech/p/how-to-cross-platform-03.html.

Trên đây là nội dung chi tiết về các khái niệm và sự khác biệt giữa .Net Framework .Net .NET Standard. Để biết thêm thông tin về sự khác biệt giữa .Net Framework .Net .NET Standard, vui lòng chú ý đến các bài viết liên quan khác của tôi! .

Liên kết gốc: https://www.cnblogs.com/SunSpring/p/15047424.html.

Cuối cùng, bài viết này về các khái niệm và sự khác biệt của .Net Framework .Net .NET Standard kết thúc tại đây. Nếu bạn muốn biết thêm về các khái niệm và sự khác biệt của .Net Framework .Net .NET Standard, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

36 4 0
qq735679552
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com