Tech

Microsoft phát hành Windows App SDK 1.0 Ổn định được phát hành, có sẵn để tải xuống (Ghi chú phát hành)

Sau một số bản Preview, Microsoft vừa phát hành Windows App SDK 1.0.0 Stable, một bộ công cụ cho phép các nhà phát triển ứng dụng dành cho máy tính để bàn xây dựng các ứng dụng với giao diện người dùng Windows, API và các tính năng nền tảng hiện đại.

Trong bản phát hành này, Microsoft đã thêm nhiều tính năng mới từ Windows App SDK 0.8 và ổn định các vấn đề từ các bản phát hành Xem trước 1.0.

WinUI 3

WinUI 3 là khung trải nghiệm người dùng (UX) gốc cho Windows App SDK.

Các tính năng và bản cập nhật mới:

  • Microsoft đã thêm các điều khiển mới (PipsPager, Expander, BreadcrumbBar) và cập nhật các điều khiển hiện có để phản ánh các kiểu Windows mới nhất từ WinUI 2.6.
  • Đóng gói MSIX một dự án được hỗ trợ trong WinUI bằng cách tạo một ứng dụng mới bằng cách sử dụng mẫu “Ứng dụng trống, được đóng gói…”.
  • Microsoft hiện hỗ trợ triển khai các ứng dụng WinUI 3 mà không cần đóng gói MSIX trên Windows phiên bản 1809 trở lên. Xin vui lòng xem Tạo ứng dụng máy tính để bàn không đóng gói WinUI 3 Để biết thêm thông tin chi tiết.
  • Các dự án WinUI 3 hiện có thể đặt phiên bản mục tiêu của chúng xuống Windows 10, phiên bản 1809. Trước đây, chúng chỉ có thể được đặt ở mức thấp nhất là phiên bản 1903.
  • Thanh công cụ trong ứng dụng, Tải lại nóng và Cây trực quan cho các ứng dụng đóng gói WinUI được hỗ trợ trong Visual Studio 2022 Preview 5 và GA.

Những hạn chế quan trọng:

  • Các vấn đề đã biết về cả ứng dụng WinUI đóng gói và không đóng gói:
  • Các vấn đề đã biết về Các ứng dụng WinUI với MSIX một dự án (Ứng dụng trống, Mẫu đóng gói):
    • Thiếu mục menu Gói & Xuất bản cho đến khi bạn khởi động lại Visual Studio: Khi tạo ứng dụng mới với Single-project MSIX trong cả Visual Studio 2019 và Visual Studio 2022 bằng cách sử dụng mẫu dự án Blank App, Packaged (WinUI 3 in Desktop), lệnh xuất bản dự án sẽ không xuất hiện trong menu cho đến khi bạn đóng và mở lại Visual Studio.
    • Ứng dụng AC # với MSIX một dự án sẽ không biên dịch nếu không cài đặt thành phần tùy chọn “C ++ (v14x) Universal Windows Platform Tools”. Quan điểm Cài đặt các công cụ dành cho nhà phát triển Để biết thêm thông tin chi tiết.
    • Lỗi thời gian chạy tiềm ẩn trong ứng dụng có MSIX dự án đơn sử dụng các loại được xác định trong Cấu phần thời gian chạy Windows được tham chiếu: Để giải quyết, hãy thêm thủ công các mục lớp có thể kích hoạt vào appxmanifest.xml.
      • Lỗi mong đợi trong các ứng dụng C # là “COMException: Class chưa được đăng ký (0x80040154 (REGDB_E_CLASSNOTREG)).
      • Lỗi mong đợi trong các ứng dụng C ++ / WinRT là “winrt :: hresult_class_not_registered”.
  • Các vấn đề đã biết về Các ứng dụng WinUI không có MSIX-đóng gói (ứng dụng chưa đóng gói):
    • Một số API yêu cầu nhận dạng gói và không được hỗ trợ trong các ứng dụng chưa được đóng gói, chẳng hạn như:
  • Các vấn đề đã biết về đóng gói và triển khai các ứng dụng WinUI:
    • Các Package lệnh không được hỗ trợ trong các ứng dụng WinUI với MSIX một dự án (Ứng dụng trống, Mẫu đóng gói). Thay vào đó, hãy sử dụng Package & Publish lệnh để tạo một gói MSIX.
    • Để tạo một gói NuGet từ Thư viện Lớp C # với Pack lệnh, đảm bảo hoạt động ConfigurationRelease.
    • Các Pack lệnh không được hỗ trợ trong C ++ Windows Runtime Components để tạo gói NuGet.

Chém gió

SDK ứng dụng Windows cung cấp một AppWindow lớp phát triển lớp xem trước Windows.UI.WindowManagement.AppWindow dễ sử dụng trước đó và cung cấp nó cho tất cả các ứng dụng Windows, bao gồm Win32, WPF và WinForms.

Các tính năng mới

  • AppWindow là một API cửa sổ cấp cao cho phép các trường hợp cửa sổ dễ sử dụng, tích hợp tốt với trải nghiệm người dùng Windows và với các ứng dụng khác. Thể hiện phần tóm tắt cấp cao của vùng chứa nội dung của ứng dụng do hệ thống quản lý. Đây là vùng chứa mà nội dung của bạn được lưu trữ và đại diện cho thực thể mà người dùng tương tác khi họ thay đổi kích thước và di chuyển ứng dụng của bạn trên màn hình. Đối với các nhà phát triển quen thuộc với Win32, AppWindow có thể được coi là một bản tóm tắt cấp cao của HWND.
  • Khu vực trưng bày đại diện cho sự trừu tượng cấp cao của HMONITOR, tuân theo các nguyên tắc tương tự như AppWindow.
  • DisplayAreaWatcher cho phép nhà phát triển quan sát các thay đổi trong cấu trúc liên kết hiển thị và liệt kê các DisplayAreas hiện được xác định trong hệ thống.

Đầu vào

Đây là các API đầu vào hỗ trợ WinUI và cung cấp bề mặt API cấp thấp hơn cho các nhà phát triển để đạt được các tương tác đầu vào nâng cao hơn.

Các tính năng mới

Những hạn chế quan trọng

  • Tất cả các PointerPoint các chức năng của nhà máy tĩnh đã bị loại bỏ: GetCurrentPoint, GetCurrentPointTransformed, GetInter InstantPoints, và GetInter InstantPointsTransformed.
  • SDK ứng dụng Windows không hỗ trợ truy xuất PointerPoint các đối tượng có ID con trỏ. Thay vào đó, bạn có thể sử dụng PointerPoint chức năng thành viên GetTransformedPoint để lấy một phiên bản đã chuyển đổi của một PointerPoint sự vật. Đối với các điểm trung gian, bạn có thể sử dụng PointerEventArgs chức năng thành viên GetInter InstantPointsGetTransformedInter InstantPoints.
  • Sử dụng trực tiếp API SDK nền tảng Windows.UI.Core.CoreDragOperation sẽ không hoạt động với các ứng dụng WinUI.
  • PointerPoint tính chất RawPositionContactRectRaw đã bị xóa vì chúng tham chiếu đến các giá trị không được dự đoán, giống với các giá trị bình thường trong Hệ điều hành. Sử dụng Chức vụContactRect thay thế. Dự đoán con trỏ hiện được xử lý với Microsoft.UI.Input.PointerPredictor Đối tượng API.

Vòng đời ứng dụng

Hầu hết các tính năng Vòng đời ứng dụng đã tồn tại trong nền tảng UWP và đã được đưa vào Windows App SDK để sử dụng cho các loại ứng dụng dành cho máy tính để bàn, đặc biệt là ứng dụng Console không đóng gói, ứng dụng Win32, ứng dụng Windows Forms và ứng dụng WPF. Không thể sử dụng Windows App SDK triển khai các tính năng này trong các ứng dụng UWP, vì bản thân nền tảng UWP cũng có các tính năng tương đương.

Quan trọng

Nếu bạn đang làm việc trên một ứng dụng UWP, hãy tham khảo hướng dẫn di chuyển UWP để tìm hiểu thêm về cách di chuyển ứng dụng của bạn sang Windows App SDK.

Các ứng dụng không phải UWP cũng có thể được đóng gói thành các gói MSIX. Mặc dù các ứng dụng này có thể sử dụng một số tính năng Vòng đời ứng dụng Windows App SDK, nhưng chúng phải sử dụng phương pháp tệp kê khai nếu tính năng này khả dụng. Ví dụ: họ không thể sử dụng Windows App SDK RegisterForXXXActivation API và thay vào đó phải đăng ký kích hoạt phong phú thông qua tệp kê khai.

Tất cả các ràng buộc đối với các ứng dụng đóng gói cũng áp dụng cho các ứng dụng WinUI, được đóng gói và có những cân nhắc bổ sung như được mô tả bên dưới.

Những cân nhắc quan trọng:

  • Kích hoạt phong phú: GetActiisedEventArgs
  • Đăng ký / Hủy đăng ký để kích hoạt phong phú
    • Ứng dụng chưa đóng gói: Hoàn toàn có thể sử dụng được.
    • Ứng dụng đóng gói: Không thể sử dụng được, hãy sử dụng tệp kê khai MSIX của ứng dụng để thay thế.
    • Để biết thêm thông tin, hãy xem Kích hoạt phong phú.
  • Một lần / Đa phiên bản
    • Ứng dụng chưa đóng gói: Hoàn toàn có thể sử dụng được.
    • Ứng dụng đóng gói: Hoàn toàn có thể sử dụng được.
    • Ứng dụng WinUI: Nếu một ứng dụng muốn phát hiện các trường hợp khác và chuyển hướng kích hoạt, thì ứng dụng đó phải thực hiện việc này càng sớm càng tốt và trước khi khởi chạy bất kỳ cửa sổ nào, v.v. Để bật tính năng này, ứng dụng phải xác định DISABLE_XAML_GENERATED_MAIN và viết Main tùy chỉnh (C #) hoặc WinMain (C ++) nơi nó có thể phát hiện và chuyển hướng.
    • RedirectActivationToAsync là cuộc gọi không đồng bộ và bạn không nên đợi cuộc gọi không đồng bộ nếu ứng dụng của bạn đang chạy trong STA. Đối với các ứng dụng Windows Forms và C # WinUI, bạn có thể khai báo Main là không đồng bộ, nếu cần. Đối với các ứng dụng C ++ WinUI và C # WPF, bạn không thể khai báo Main là không đồng bộ, vì vậy thay vào đó bạn cần chuyển lệnh gọi chuyển hướng sang một luồng khác để đảm bảo bạn không chặn STA.
    • Để biết thêm thông tin, hãy xem Cài đặt ứng dụng.
  • Thông báo nguồn / trạng thái
    • Ứng dụng chưa đóng gói: Hoàn toàn có thể sử dụng được.
    • Ứng dụng đóng gói: Hoàn toàn có thể sử dụng được.
    • Để biết thêm thông tin, hãy xem Quản lý năng lượng.

Vấn đề được biết:

  • Các liên kết Loại tệp mã hóa không chính xác% 1 thành% 251 khi đặt mẫu dòng lệnh của trình xử lý Động từ, làm hỏng các ứng dụng Win32 chưa được đóng gói. Thay vào đó, bạn có thể chỉnh sửa thủ công giá trị Sổ đăng ký thành% 1 như một giải pháp thay thế một phần. Nếu đường dẫn tệp đích có một khoảng trống trong đó, thì nó vẫn sẽ không thành công và không có cách giải quyết nào cho tình huống đó.
  • Các lỗi này sẽ được khắc phục trong một bản vá bảo dưỡng sắp tới:
    • Chuyển hướng AppInstance không hoạt động khi được biên dịch cho x86
    • Việc đăng ký khóa, hủy đăng ký và đăng ký lại sẽ khiến ứng dụng gặp sự cố

DWriteCore

DWriteCore là triển khai Windows App SDK của DirectWrite, là API DirectX để kết xuất văn bản chất lượng cao, phông chữ phác thảo độc lập với độ phân giải và hỗ trợ bố cục và văn bản Unicode đầy đủ. DWriteCore là một dạng DirectWrite chạy trên các phiên bản Windows cho đến Windows 10, phiên bản 1809 (10.0; Build 17763) và mở ra cánh cửa để bạn sử dụng nó trên nhiều nền tảng.

Đặc trưng DWriteCore chứa tất cả các tính năng của DirectWrite, với một vài ngoại lệ.

Những hạn chế quan trọng

  • DWriteCore không chứa các tính năng DirectWrite sau:
    • Phông chữ mỗi phiên
    • Phông chữ ký tự do người dùng cuối xác định (EUDC)
    • API phát trực tuyến phông chữ
  • Hỗ trợ API kết xuất cấp thấp là một phần.
  • DWriteCore không tương thích với Direct2D, nhưng bạn có thể sử dụng IDWriteGlyphRunAnalysisIDWriteBitmapRenderTarget.

MRT Core

MRT Core là phiên bản sắp xếp hợp lý của Windows hiện đại Hệ thống quản lý tài nguyên được phân phối như một phần của Windows App SDK.

Những hạn chế quan trọng

  • Trong các dự án .NET, các tệp tài nguyên được sao chép vào thư mục dự án không được lập chỉ mục trên F5 nếu ứng dụng đã được tạo. Để giải quyết vấn đề, hãy xây dựng lại ứng dụng. Nhìn thấy vấn đề 1503 để biết thêm thông tin.
  • Trong các dự án .NET, khi tệp tài nguyên được thêm vào dự án bằng giao diện người dùng Visual Studio, tệp có thể không được lập chỉ mục theo mặc định. Nhìn thấy vấn đề 1786 để biết thêm thông tin. Để khắc phục sự cố này, vui lòng xóa các mục bên dưới trong tệp CSPROJ:
    <ItemGroup>
        <Content Remove="<image file name>" />
    </ItemGroup>
    <ItemGroup>
        <PRIResource Remove="<resw file name>" />
    </ItemGroup>
    
  • Đối với các ứng dụng WinUI C ++ không được đóng gói, URI tài nguyên không được xây dựng chính xác. Để khắc phục sự cố này, hãy thêm phần sau vào vcxproj:
    
    
    <PropertyGroup>
        <AppxPriInitialPath></AppxPriInitialPath>   
    </PropertyGroup>
    

Triển khai

Các tính năng và bản cập nhật mới

  • Bạn có thể tự động khởi chạy Windows App SDK thông qua WindowsPackageType project thuộc tính để tải thời gian chạy Windows App SDK và gọi các API Windows App SDK. Nhìn thấy Tạo ứng dụng WinUI 3 để được hướng dẫn.
  • Các ứng dụng chưa được đóng gói có thể triển khai Windows App SDK bằng cách tích hợp trong Windows App SDK độc lập .exe trình cài đặt vào MSI hiện có hoặc chương trình thiết lập của bạn. Để biết thêm thông tin, hãy xem Hướng dẫn triển khai Windows App SDK cho các ứng dụng chưa được đóng gói.
  • Các ứng dụng .NET chưa được đóng gói cũng có thể sử dụng trình bao bọc .NET cho API bootstrapper để động phụ thuộc vào gói khung Windows App SDK tại thời điểm chạy. Để biết thêm thông tin về trình bao bọc .NET, hãy xem Thư viện trình bao bọc .NET.
  • Các ứng dụng được đóng gói có thể sử dụng API triển khai để xác minh và đảm bảo rằng tất cả các gói bắt buộc đều được cài đặt trên máy. Để biết thêm thông tin về cách hoạt động của API triển khai, hãy xem hướng dẫn triển khai cho các ứng dụng đóng gói.

Những hạn chế quan trọng

  • Trình bao bọc .NET cho API bootstrapper chỉ nhằm mục đích sử dụng cho các ứng dụng .NET chưa được đóng gói để đơn giản hóa quyền truy cập vào Windows App SDK.
  • Chỉ các ứng dụng được đóng gói MSIX hoàn toàn tin cậy hoặc có packageManagement khả năng bị hạn chế có quyền sử dụng API triển khai để cài đặt các gói phụ thuộc chính và gói singleton. Hỗ trợ cho các ứng dụng đóng gói tin cậy một phần sẽ có trong các bản phát hành sau.
  • Khi F5 thử nghiệm một ứng dụng x86 sử dụng DeploymentManager.Initialize trên hệ thống x64, hãy đảm bảo rằng khung x64 được cài đặt trước bằng cách chạy WindowsAppRuntimeInstall.exe. Nếu không, bạn sẽ gặp phải KHÔNG TÌM THẤY lỗi do Visual Studio không triển khai khuôn khổ x64, thường xảy ra thông qua triển khai Store hoặc chuyển tải.

Các hạn chế khác và các vấn đề đã biết

Đọc thêm và tìm các liên kết tải xuống tại Microsoft ở đây.

https://mspoweruser.com/microsoft-release-windows-app-sdk-1-0-stable-released-available-to-download/ | Microsoft phát hành Windows App SDK 1.0 Ổn định được phát hành, có sẵn để tải xuống (Ghi chú phát hành)

Hung

Inter Reviewed is an automatic aggregator of the all world’s media. In each content, the hyperlink to the primary source is specified. All trademarks belong to their rightful owners, all materials to their authors. If you are the owner of the content and do not want us to publish your materials, please contact us by email – admin@interreviewed.com. The content will be deleted within 24 hours.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

20 − nine =

Back to top button