Microsoft .NET Framework Bộ Framework chính thức từ Microsoft

  • Đánh giá:
    ( 4 ★ | 551 Đánh giá )
  • Phát hành:
  • Sử dụng: Miễn phí
  • Dung lượng: 60,9 MB
  • Lượt xem: 1.616.474
  • Lượt tải: 1.504.677
  • Ngày phát hành:
  • Ngày cập nhật:
  • Yêu cầu: Windows Vista/Server 2008/7/8/Server 2012/8.1
Giới thiệu

Microsoft .NET Framework - Bộ Framework chính thức từ Microsoft

Microsoft.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows.

Microsoft.NET Framework

Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các chương trình được viết trên nền .NET.

Chẳng hạn, để thiết kế một trò chơi đua xe, nếu không có bộ Framework chuyên dụng cho game, người lập trình game phải tự tạo ra: khung xe, bánh xe, người, đường đi, cây, biển báo... rồi mới tính đến chuyện “lắp ghép” chúng lại với nhau để tạo ra không gian cho game; trong khi cũng với dạng trò chơi này, nhưng nếu dùng bộ Framework có sẵn đã được phát triển thì người lập trình viên chỉ cần viết các lệnh để lấy chúng ra từ Framework và ghép chúng lại.

Không phải mọi ngôn ngữ lập trình đều khai thác được Framework, muốn sử dụng các “vật liệu” trong bộ Framework, đòi hỏi người lập trình viên phải dùng các ngôn ngữ lập trình có hỗ trợ công nghệ .NET như VB.NET, C#.NET, ASP.NET...

Phiên bản mới nhất - 4.6 của Microsoft .NET Framework đã được cải tiến và chỉnh sửa khá nhiều, có độ tương thích tốt hơn, cập nhật thông tin mới nhất, và độ linh hoạt rất cao so với các hệ thống ứng dụng hiện nay. 

Microsoft .NET Framework 4.6.2 Preview mang tới 3 phiên bản gồm Standalone (Offline Installer), Web Bootstrapper (Web Installer) và Developer Pack (gói dành cho nhà phát triển). Bản Standalone nằm trong đường dẫn tải chính, 2 bản còn lại cùng với các phiên bản trước của .NET Framework bạn có thể tìm thấy trong đường dẫn tải thêm. Trong phiên bản mới nhất của .NET Framework, Microsoft đã mang tới các tính năng mới và APIs trong các lĩnh vực:

  • Hỗ trợ TLS 1.1/1.2 cho ClickOne.
  • Kích hoạt ứng dụng .NET desktop với Project Centennial.
  • Hỗ trợ thêm chuẩn mật mã để tăng tính bảo mật.
  • Hỗ trợ bàn phím mềm và DPI từng màn hình cho WPF.

Nhìn chung thì phiên bản mới nhất của .NET Framework tập trung vào khả năng nâng cao tính bảo mật và các tính năng cho liên quan tới WinForms/WPF. Phiên bản này cũng tương thích hoàn toàn và có thể cập nhật từ các phiên bản 4/4.5/4.5.1/4.5.2/4.6/4.6.1. Phiên bản này cũng có thể chạy song song với .NET Framework 3.5 SP1 hoặc trước đó.

Gói cài đặt Offline có thể được sử dụng trong các tình huống khi mà gói cài đặt qua Web không thể sử dụng do không có mạng. Nếu bạn có ý định phân phối lại các gói cài đặt này trong ứng dụng của mình thì Microsoft cũng khuyến nghị gọi gói cài đặt qua Web bởi nó nhỏ gọn hơn và tải nhanh hơn. Gói Web Installer cũng mang tới hiệu quả tối ưu với yêu cầu băng thông thấp hơn.

Cài đặt bằng Web nhanh hơn
Quá trình cài đặt bằng gói Web Installer sẽ nhanh chóng hơn nhiều

Những đặc điểm mới trong phiên bản .NET Framework 4.6.2 Preview

ClickOnce - hỗ trợ TLS 1.1 và 1.2

Khi phân phối ứng dụng được xây dựng dựa trên Windows Forms hay WPF thì hầu hết mọi người đều sử dụng ClickOnce. Được thiết kế trước cả sự ra đời của App Store, ClickOnce cho phép dễ dàng phân phối ứng dụng thông qua URL. Không giống các chương trình phân phối thông qua App Store khác ứng dụng phân phối qua ClickOne có thể tự nâng cấp khi phiên bản mới được phát hành. Bởi ứng dụng ClickOnce là rất quan trọng, khả năng bảo mật cũng là mối quan tâm lớn.

Công nghệ phân phối ClickOnce trong phiên bản .NET Framework 4.6.2 Preview đã hỗ trợ TLS - Transport Layer Security - 1.1 và 1.2. ClickOnce sẽ tự động phát hiện giao thức TLS nào được yêu cầu trong thời điểm chạy (runtime) nhất định. Bạn cũng không cần phải thực hiện thêm bất kì thao tác hay bước cài đặt nào trong ClickOnce để có thể kích hoạt tính năng này. ClickOnce vẫn tiếp tục hỗ trợ TLS 1.0 để xem khả năng tương thích trong tương lai cho các ứng dụng không thể nâng cấp. Dù TLS 1.1 được phát hành năm 2006 và TLS 1.2 được phát hành năm 2008, đây vẫn là phiên bản ClickOnce đầu tiên của .NET hỗ trợ chuẩn TLS này.

Chuyển đổi ứng dụng Desktop thành ứng dụng UWP - Project Centennial

Windows mang tới khả năng biến ứng dụng desktop (bao gồm cả Windows Forms và WPF) thành Universal Windows Platform (UWP). Khả năng này được biết đến với tên gọi Project Centennial. Mục tiêu của công nghệ này là đóng vai trò như 1 cầu nối cho phép nhà phát triển dần dần đưa code hiện có của mình sang UWP và đưa ứng dụng tới các thiết bị Windows 10. Hình ảnh dưới đây hiển thị ứng dụng WPF đã được chuyển đổi sang Centennial và có thể hiển thị Live Tile - tính năng chỉ có với ứng dụng UWP.


Hình ảnh ứng dụng Desktop có tính năng Live Tile

Ứng dụng desktop .NET sẽ tiếp tục hoạt động giống như trước đó. Bạn có thể thêm component của UWP, được gọi là UWP APIs để kích hoạt tính năng UWP như Live Tile hay chia sẻ liên lạc. Component UWP được xây dựng và biên dịch với .NET Native tương tự như bất kì ứng dụng UWP nào.

Mật mã và tính bảo mật

Chứng nhận X509 giờ hỗ trợ cả FIPS 18602 DSA

.NET Framework 4.6.2 giờ hỗ trợ cả chứng nhận DSA (Digital Signature Algorithm) X509 - sở hữu key vượt quá giới hạn 1024-bit của FIPS 186-2. Bên cạnh việc hỗ trợ kích thước key lớn hơn của FIPS 186-3, bản 4.6.2 này còn cho phép sử dụng chữ kí điện toán với nhóm mã hash SHA-2 (gồm SHA256, SHA384 và SHA512). Khả năng hỗ trợ FIPS 186-3 được cung cấp bởi lớp DSACng mới. Cùng với các thay đổi trong RSA (.NET Framework 4.6) và ECDsa (.NET Framework 4.6.1), lớp cơ sở trừu tượng DSA có bổ sung phương pháp cho phép sử dụng tính năng này dễ dàng. Bạn có thể tìm hiểu rõ hơn về lớp DSACng tại địa chỉ này.

Khi nói tới việc lưu trữ key đối xứng nhất quán trên các thiết bị phần cứng và phần mềm thì Microsoft mang tới Crytogaphy API: Next Generation (CNG - CNG mang tới các API có thể sử dụng dễ dàng để mã hóa và giải mã nội dung, xác thực trên nhiều máy tính) từ Windows 7. Nhưng cập nhật này của .NET Framework cũng là lần đầu tiên hỗ trợ CNG. Người dùng quan tâm có thể tìm hiểu kĩ hơn về CNG tại địa chỉ này.

Rõ ràng hơn khi sử dụng đầu vào (input) ECDiffieHellman Key Derivation Routines

.NET Framework 4.6.2 hỗ trợ Ellptic Curve Diffie-Hellman Key Agreement có bao gồm 3 thủ tục (routine) KDF (Key Derivation Function). Đầu vào cho thủ tục và bản thân thủ tục đều được tùy biến qua các thuộc tính trên đối tượng ECDiffieHellmanCng.

Hỗ trợ key mã hóa đối ứng nhất quán

Windows Crytography Library (CNG) hỗ trợ lưu trữ key đối xứng nhất quán trên phần mềm và phần cứng thiết bị.

Hỗ trợ SignedXML cho SHA-2

.NET Framework 4.6.2 hỗ trợ SignedXml, cho phép sử dụng RSA-SH256, SRA-SHA384 và RSA-SHA512 PKCS#1.

Windows Presentation Foundation (WPF)

Hỗ trợ bàn phím mềm

Khi sử dụng với Windows 10 thì WPF giờ có thể tự động hiển thị hoặc ẩn bàn phím mềm (bàn phím trên màn hình) mà không cần phải vô hiệu hóa WPF Stylus hay thao tác chạm trên Windows 10.

Bàn phím mềm
Bàn phím mềm trên màn hình

Hỗ trợ DPI cho mỗi màn hình

Ứng dụng WPF có thể điều chỉnh kích thước dựa trên độ phân giải màn hình mà nó render. Điều này giúp giảm khả năng hình bị mất nét hay mờ. Khi sử dụng nhiều màn hình thì ngay cả khi ứng dụng có thể sửa lỗi liên quan tới DPI cao cho 1 màn hình, nó vẫn có thể gặp lỗi khi người dùng có nhiều thiết lập DPI trên nhiều màn hình. Trước phiên bản 4.6.2 này thì người dùng phải có thêm 1 đoạn code nguyên gốc để có thể sử dụng khả năng nhận biết DPI trên từng màn hình trong ứng dụng WPF nhưng giờ thì Microsoft đã mang tới hỗ tới khả năng nhận biết DPI từng màn hình.

Những thay đổi của Microsoft .NET Framework phiên bản 4.6 

ASP.NET 5

  • Microsoft .NET Framework 4.6 bao gồm ASP.NET 5 dựa trên nền tảng .NET để xây dựng những ứng dụng dựa trên nền tảng đám mây hiện đại. Nền tảng này liên quan đến mô-đun, vì vậy bạn có thể chỉ bao gồm những tính năng cần thiết trong ứng dụng của mình. Nó có thể được lưu trữ trên IIS hoặc tự lưu trữ trong quá trình tùy chỉnh, và bạn có thể chạy các ứng dụng với những phiên bản khác nhau của .NET Framework trên cùng một máy chủ. Nó cũng bao cũng bao gồm một hệ thống cấu hình môi trường mới, được thiết kế cho việc triển khai đám mây điện toán.
  • MVC, Web API và Web Pages được thống nhất trong một khuôn khổ duy nhất gọi là MVC 6. Bạn xây dựng 5 ứng dụng ASP.NET thông qua các công cụ mới trong Visual Studio 2015. Các ứng dụng đã tồn tại vẫn sẽ làm việc trên phiên bản .NET Framework mới, tuy nhiên, để xây dựng một ứng dụng sử dụng MVC 6 hoặc SignalR 3, bạn phải sử dụng hệ thống dự án trong Visual Studio 2015.

Cập nhật ASP.NET

Hỗ trợ HTTP/2 (Windows 10)

  • Hỗ trợ HTTP/2 đã được thêm vào ASP.NET trong .NET Framework 4.6. Vì chức năng kết nối mạng tồn tại nhiều lớp, nên những tính năng mới được yêu cầu trong Windows, trong IIS và trong ASP.NET để kích hoạt HTTP/2. Bạn phải chạy trên Windows 10 để sử dụng HTTP/2 với ASP.NET. HTTP/2 vẫn chưa được thêm vào ASP.NET 5.
  • HTTP/2 là phiên bản mới của giao thức HTTP, cung cấp sử dụng kết nối Internet tốt hơn nhiều (ít "những chuyến đi vòng" giữa máy khách và máy chủ hơn), giúp giảm độ trễ khi tải trang web cho người dùng. Các trang web được hưởng lợi nhiều nhất từ HTTP/2, kể từ khi giao thức này được tối ưu hóa cho nhiều hiện vật (artifacts) được yêu cầu như một phần của trải nghiệm duy nhất.
  • Các trình duyệt và máy chủ web (IIS trên Windows) sẽ thực hiện tất cả mọi công việc. Bạn không phải đặt gánh nặng nào lên người dùng của mình.
  • Hầu hết các trình duyệt chính đều hỗ trợ HTTP/2, vì vậy người dùng sẽ được hưởng lợi từ việc hỗ trợ HTTP/2 nếu máy chủ của bạn hỗ trợ nó. Bạn có thể thử nó với bản cập nhật RC.

Hỗ trợ cho Token Binding Protocol

  • Microsoft và Goolge đã hợp tác trong cách tiếp cận mới để xác thực, được gọi là Token Binding Protocol. Tiền đề là các thẻ xác thực (trong bộ nhớ cache của trình duyệt) có thể bị đánh cắp và sử dụng bởi bọn tội phạm để truy cập tài nguyên an toàn khác (ví dụ: tài khoản ngân hàng của bạn) mà không yêu cầu mật khẩu hoặc bất kỳ sự hiểu biết được cấp quyền nào khác. Giao thức mới nhằm giảm thiểu vấn đề này.
  • Token Binding Protocol sẽ được thực hiện trong Windows 10 như là một tính năng trong trình duyệt. Các ứng dụng ASP.NET sẽ tham gia vào trong giao thức, do đó thẻ xác thực được xác nhận là hợp pháp. Các tương tác giữa máy chủ và máy khách thiết lập bảo vệ end-to-end được chỉ định bởi giao thức này.

Những thay đổi trong thư viện lớp cơ sở

Nhiều API mới được thêm vào .NET Framework 4.6 RC để cho phép các kịch bản chính. Bạn sẽ nhận thấy những sự thay đổi và bổ sung sau đây:

IReadOnlyCollection

Thêm Queue và Stack.

Các loại SIMD-enabled

System.Numerics namespace hiện tại bao gồm một số lượng các loại SIMD-enabled như Matrix3x2, Matrix4x4, Plane, Quaternion, Vector2, Vector3 và Vector4Vector4.

Các cập nhật mật mã

  • System.Security.Cryptography API đã được cập nhật để hỗ trợ các API mật mã của Windows CNG. .NET Framework hiện đang sử dụng phiên bản cũ của Windows Cryptography APIs làm cơ sở cho việc thực hiện System.Security.Cryptography. Nhà phát hành đã yêu cầu để hỗ trợ API CNG, vì nó hỗ trợ các thuật toán mật mã hiện đại, điều này khá quan trọng với một số loại ứng dụng hiện đại. Trong bản cập nhật này, nhóm nghiên cứu đã thêm hỗ trợ để sử dụng các key chứng nhận CNG với lớp RSACng.
  • Bản cập nhật này là bước đầu tiên để hướng tới hỗ trợ rộng hơn cho Windows CNG API và cho nhiều thuật toán mật mã hiện đại nói chung.

Các chuyển đổi tương thích

  • Lớp AppContext mới bổ sung thêm một số tính năng tương thích mới cho phép các tác giả cung cấp cơ chế từ chối các chức năng mới cho người dùng. Nó thiết lập một cam kết lỏng lẻo giữa các thành phần để truyền tải một yêu cầu từ chối. Khả năng này thường là quan trọng khi thay đổi được thực hiện trên các chức năng hiện có. Ngược lại, cũng có một cơ chế chấp nhận ngầm cho các chức năng mới.
  • Với AppContext, các thư viện xác định và tìm thấy các chuyển đổi tương thích, trong khi code phụ thuộc vào chúng có thể thiết lập các chuyển đổi để ảnh hưởng đến hành vi của thư viện. Theo mặc định, các thư viện cung cấp chức năng mới và chỉ thay đổi nó nếu chuyển đổi được thiết lập.
  • Một ứng dụng (hoặc một thư viện) có thể khai báo các giá trị của một chuyển đổi (luôn luôn là giá trị Boolean) mà thư viện phụ thuộc định nghĩa. Việc chuyển đổi được mặc định ngầm là sai. Bạn phải thiết lập chuyển đổi để thực sự cho phép nó.

Cải thiện Event Tracing

  • Đối tượng .NET Framework 4.6 RC EventSource có thể được xây dựng trực tiếp và có thể gọi một trong những phương thức Write để phát hành một sự kiện tự miêu tả.
  • Thư viện phải kiểm tra nếu có chuyển đổi được kê khai giá trị thích hợp và một hành động hợp lệ trên nó.
  • Việc sử dụng một định dạng thích hợp cho các chuyển đổi sẽ có nhiều lợi ích, vì chúng là một giao kèo chính thức được tìm thấy bởi một thư viện. Hai định dạng rõ ràng là Switch.namespace.switchname, Switch.library.switchname.

.Net Native

  • Các ứng dụng Windows cho Windows 10 mà nhằm vào .NET Core và được viết trong C# hoặc Visual Basic có thể tận dụng lợi thế của công nghệ mới, biên dịch các ứng dụng sang mã nguồn gốc hơn là IL. Chúng tạo các ứng dụng đặc trưng bởi thời gian khởi động và thực hiện nhanh hơn.
  • Ứng dụng của bạn được biên dịch sang mã nguồn gốc theo mặc định khi bạn biên dịch chúng với Visual Studio 2015.
  • Để hỗ trợ gỡ lỗi các ứng dụng Native Net, một số giao diện và các kiểu liệt kê mới đã được thêm vào API gỡ lỗi không được quản lý.

Các gói mã nguồn mở .NET Framework

  • Các gói NET Core như Immutable Collections và SIMD APIs hiện đã có sẵn, mã nguồn mở, trên GitHub. Để truy cập code, xem NetFx trên GitHub.
  • Cũng bao gồm những thay đổi trong phiên bản trước đó.

Framework có 2 thành phần chính:

Common Language Runtime (CLR)

CLR là thành phần kết nối giữa các phần khác trong .NET Framework với hệ điều hành. CLR là chương trình viết bằng .NET, không được biên dịch ra mã máy mà nó được dịch ra một ngôn ngữ trung gian Microsoft Intermediate Language (MSIL). Khi chạy chương trình, CLR sẽ dịch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống. Nó cũng không cho phép các lệnh nguy hiểm được thi hành. Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine, …

Trong các phiên bản hệ điều hành Windows mới như XP.Net và Windows 2003, CLR được gắn kèm với hệ điều hành. Điều này đảm bảo ứng dụng viết ra trên máy tính của bạn sẽ chạy trên các máy tính khác mà không cần cài đặt.

NET Framework class library

NET Framework class library cung cấp thư viện lập trình như cho ứng dụng, cơ sở dữ liệu, dịch vụ web...

Base class library – thư viện các lớp cơ sở

Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng .NET Framework cũng phải dùng nó để xây dựng các lớp cao hơn. Ví dụ các lớp trong thư viện này là String, Interger, Exception, …

ADO.NET và XLM

Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu. ADO.NET thay thế ADO để trong việc thao tác với các dữ liệu thông thường. Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới: XML. Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter, …

ASP.NET

Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của .NET Framework. Bên cạnh đó là một phong cách lập trình mới mà Microsoft đặt cho nó một tên gọi là code behind. Đây là cách mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách tiêng. Tuy nhiên, nếu bạn đã từng quen với việc lập trình ứng dụng web, đây là việc mà bạn giải phóng khỏi các lệnh HTML.

Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web. ASP.Net cung cấp một bộ các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng của Windows. Nó cũng cho phép bạn chuyển một ứng dụng trước đây viết chỉ chạy trên Windows thành một ứng dụng Web khá dễ dàng. Ví dụ cho các lớp trong thư viện này là WebControl, HTML Control, …

Web services

Web services là các dịch vụ được cung cấp qua Web (hay Internet). Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm. Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán.

Windows form

Bộ thư viện về Windows form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based. Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft. Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service. Ví dụ về các lớp trong thư viện này là Form, UserControl…

Yêu cầu hệ thống

  • Hệ điều hành: Windows 7 SP1, Windows 8.1, Windows 10, Windows Server 2008 R2 SP1, Windows Server 2012 và Windows Server 2012 R2.
  • Bộ vi xử lý: 1GHz.
  • Bộ nhớ RAM: 512MB.
  • Ổ cứng trống 2.5GB.
  • Hỗ trợ cả bản x86 và x64.

Khi cài đặt gói này thì bạn có thể thấy các gói hoặc cập nhật trong hệ thống

  • Nếu là Windows 7 SP1 hoặc Windows Server 2008 R2 SP1, bạn sẽ thấy mục Microsoft .NET Framework 4.6.2 Preview là 1 sản phẩm đã được cài đặt trong mục Programs and Features trong Control Panel.
  • Nếu sử dụng Windows Server 2012, bạn sẽ thấy Update for Microsoft Windows (KB3120738) trong mục Installed Updates của Control Panel.
  • Nếu là Windows 8.1, Windows 10 hoặc Windows Server 2012 R2, bạn sẽ thấy Update for Microsoft Windows (KB3120803) trong mục Installed UpdatesControl Panel.

Thuy Nguyen