Catatan rilis saluran yang stabil untuk SDK Aplikasi Windows

Saluran stabil menyediakan rilis SDK Aplikasi Windows yang didukung untuk digunakan oleh aplikasi di lingkungan produksi. Aplikasi yang menggunakan rilis stabil SDK Aplikasi Windows juga dapat diterbitkan ke Microsoft Store.

Rilis saluran stabil berikut saat ini tersedia:

Jika Anda ingin meningkatkan aplikasi yang sudah ada dari versi SDK Aplikasi Windows yang lebih lama ke versi yang lebih baru, lihat Memperbarui proyek yang ada ke rilis terbaru SDK Aplikasi Windows.

Unduhan untuk SDK Aplikasi Windows

Catatan

Windows App Visual Studio Extensions (VSIX) tidak lagi didistribusikan sebagai unduhan terpisah. Mereka tersedia di Visual Studio Marketplace di dalam Visual Studio.

Versi 1.5

Versi 1.5.3 (1.5.240428000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5.

  • Memperbaiki masalah di mana ItemsRepeater terkadang menyebabkan jendelanya dibawa ke depan.
  • Memperbaiki potensi crash saat status transparansi diperbarui AcrylicBrush .
  • Memperbaiki masalah di mana ItemsRepeater tidak akan menghasilkan item yang ShouldConstrainToRootBounds="false" cukup jika berada di popup yang lebih tinggi atau lebih lebar dari jendela utama.
  • Memperbaiki masalah di mana kesalahan MSB4086 dapat terjadi pada waktu build jika file proyek tidak menentukan TargetPlatformVersion. Kesalahan ini ditemui sebagai bagian dari masalah GitHub #9531.

Versi 1.5.2 (1.5.240404000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5 dan fitur baru untuk penyedia umpan Widget.

Pembaruan penyedia umpan widget

  • Penyedia umpan sekarang dapat menampilkan pengumuman di Dasbor Widget:
    • API baru FeedManager.TryShowAnnouncement memungkinkan Penyedia Umpan untuk meminta agar Dasbor Widget menampilkan pengumuman mereka. Untuk menampilkan pengumuman Anda, buat FeedAnnouncement objek dan panggil FeedManager.TryShowAnnouncement API.
    • Pengumuman umpan akan memiliki lencana mereka sendiri yang ditampilkan di taskbar yang dapat disesuaikan menggunakan FeedAnnouncement API.
  • Penyedia umpan sekarang dapat memilih untuk menerima informasi Analitik dan Laporan Kesalahan tentang penyedia mereka saat pengguna berinteraksi dengannya. Untuk ikut serta, terapkan IFeedProviderAnalytics antarmuka dan/atau IFeedProviderErrors oleh penyedia Anda.

Pembaruan penyedia umpan mencakup API baru berikut:

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

Perbaikan bug

  • Memperbaiki masalah di mana DispatcherTimer tidak akan diaktifkan pada waktu yang benar jika tampilan utama tidak berjalan pada 60 Hz.
  • Memperbaiki masalah di mana jendela editor metode input kotak teks (IME) akan salah diposisikan saat berjalan pada faktor skala selain 100%. Untuk informasi selengkapnya, lihat Masalah GitHub #9382.
  • Memperbaiki masalah di mana operasi seret dan letakkan dimulai dari aplikasi lain mungkin tidak mengizinkan operasi penurunan Salin/Pindahkan/Tautkan yang benar.
  • Memperbaiki potensi crash saat ListView ItemsSource direset dan fokus yang diberikan segera.
  • Memperbaiki masalah di mana ShouldConstrainToRootBounds="false" popup/flyout tidak menerapkan transformasi skala yang diwariskan. Untuk informasi selengkapnya, lihat Masalah GitHub #9118 dan #9433.
  • Memperbaiki potensi crash ketika objek Komposisi dihancurkan dengan animasi yang masih berjalan.
  • Memperbaiki potensi crash saat dimatikan di NavigationView::RevokeNavigationViewItemRevokers.

Versi 1.5.1 (1.5.240311000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.5.

  • Memperbaiki masalah saat aplikasi mandiri mungkin gagal dibuat karena tidak dapat menyalin "map.html".
  • Memperbaiki masalah di mana MapControl akan gagal diinisialisasi karena menolak token yang valid. Untuk informasi selengkapnya, lihat Masalah GitHub #9324.
  • Memperbaiki masalah saat MapControl dimuat dengan latar belakang biru. Untuk informasi selengkapnya, lihat Masalah GitHub #9377.
  • Memperbaiki masalah saat mengklik chevron NavigationViewItem yang tidak diperluas atau diciutkan dengan benar pada satu klik. Ini juga menyebabkan menu ditampilkan sebagai kosong saat mengklik chevron dalam PaneDisplayMode="Top" mode. Untuk informasi selengkapnya, lihat Masalah GitHub #9423 dan #9426.
  • Memperbaiki masalah saat mengetuk NavigationViewItem dengan sentuhan atau pena akan mencegah item merespons input di masa mendatang. Untuk informasi selengkapnya, lihat Masalah GitHub #9429.
  • Memperbaiki crash saat mengklik item di area tersebut NavigationView.PaneFooter . Untuk informasi selengkapnya, lihat Masalah GitHub #9396.
  • Memperbaiki masalah di mana ikon dalam menu terkadang ditampilkan di tempat yang salah. Untuk informasi selengkapnya, lihat Masalah GitHub #9409.
  • Memperbaiki masalah di mana akrilik tidak ditampilkan pada menu hingga beralih menjauh dari jendela dan kembali. Untuk informasi selengkapnya, lihat Masalah GitHub #9406.
  • Memperbaiki crash yang dapat terjadi selama TextBox/RichEditBox inisialisasi. Untuk informasi selengkapnya, lihat Masalah GitHub #9216.
  • Memperbaiki beberapa pengecualian berisik yang NavigationView melemparkan dan terjebak pada kehancuran.
  • Memperbaiki masalah di mana gerakan "jepit untuk memperbesar" terkadang akan muncul sebagai geser atau ketuk karena pesan yang salah PointerCaptureLost diaktifkan.

Versi 1.5

Bagian berikut menjelaskan fitur baru dan yang diperbarui serta masalah yang diketahui untuk versi 1.5.

Di aplikasi SDK Aplikasi Windows 1.4 yang ada, Anda dapat memperbarui paket Nuget ke 1.5.240227000 (lihat bagian Memperbarui paket di Menginstal dan mengelola paket di Visual Studio menggunakan Manajer Paket NuGet).

Untuk runtime dan MSIX yang diperbarui, lihat Unduhan untuk SDK Aplikasi Windows.

Pembaruan runtime dan matikan Kepulauan XAML

Ada perbedaan perilaku antara WinAppSDK 1.4 dan WinAppSDK 1.5 untuk aplikasi berbasis Kepulauan XAML ketika Jendela XAML terakhir pada utas apa pun ditutup.

  • Di WinAppSDK 1.4, runtime XAML selalu keluar dari perulangan peristiwa utas ketika jendela XAML terakhir pada utas ditutup.
  • Di WinAppsDK 1.5:
    • Jika aplikasi Anda adalah aplikasi WinUI Desktop, perilaku defaultnya masih sama seperti di WinAppSDK 1.4.
    • Jika Anda menggunakan XAML untuk API DesktopWindowXamlSource ("Kepulauan XAML"), perilaku default sekarang adalah bahwa XAML tidak secara otomatis keluar dari perulangan peristiwa utas.
    • Di kedua mode, Anda dapat mengubah perilaku ini dengan mengatur Application.DispatcherShutdownMode properti .

Untuk informasi selengkapnya, lihat dokumentasi untuk Application.DispatcherShutdownMode properti jika tersedia. Ini menyelesaikan proposal GitHub #8492.

Ada perbedaan perilaku antara WinAppSDK 1.4 dan WinAppSDK 1.5 untuk aplikasi berbasis Kepulauan XAML dalam masa pakai runtime XAML:

  • Di WinAppSDK 1.4, runtime XAML dimatikan pada utas jika semua WindowsXamlManager objek dan DesktopWindowXamlSource pada utas tertentu ditutup atau dimatikan, atau berjalan pada utas tersebut DispatcherQueue dimatikan (dalam hal ini, runtime XAML dimatikan selama DispatcherQueue.FrameworkShutdownStarting tahap).
  • Di WinAppSDK 1.5, runtime XAML dimatikan pada utas hanya ketika DispatcherQueue yang berjalan pada utas tersebut dimatikan (runtime Xaml selalu dimatikan selama DispatcherQueue.FrameworkShutdownStarting tahap).

Untuk informasi selengkapnya, lihat dokumentasi untuk WindowsXamlManager kelas jika tersedia.

Ada perbedaan perilaku dalam WindowsXamlManager.InitializeForCurrentThread():

  • Di WinAppSDK 1.4, WindowsXamlManager.InitializeForCurrentThread() mengembalikan instans WindowsXamlManager unik objek dengan setiap panggilan.
  • Di WinAppSDK 1.5, WindowsXamlManager.InitializeForCurrentThread() mengembalikan instans yang ada jika sudah ada di utas. Close/Dispose() sekarang diabaikan.

Kontrol Peta WinUI

Kontrol WinUI Maps sekarang tersedia! Kontrol ini didukung oleh WebView2 dan Azure Peta, menyediakan fitur-fitur berikut:

  • Menggeser dan memperbesar dengan tombol peta atau sentuhan.
  • Mengubah gaya peta menjadi satelit, medan, atau tampilan jalan.
  • Menambahkan pin yang dapat berinteraksi secara terprogram dengan ikon yang dapat disesuaikan pengembang ke peta.
  • Kustomisasi pengembang tempat peta berpusat pada beban awal.
  • Kontrol untuk pengembang atas persembunyian atau memperlihatkan tombol untuk panning, zooming, dan gaya peta.

Kontrol Peta WinUI 3

Catatan

Untuk menggunakan Maps kontrol, Anda memerlukan kunci Azure Peta. Untuk membuat kunci, lihat halaman dokumentasi Azure Peta untuk membuat aplikasi web.

Kontrol Maps sepenuhnya baru dan kami menyambut umpan balik Anda untuk mengevaluasi arah masa depannya!

Kontrol SelectorBar Baru

Dalam 1.5, kami telah menambahkan kontrol baru SelectorBar untuk memungkinkan pengguna beralih di antara beberapa tampilan data. Kontrol ini sebelumnya dikenal sebagai "SegmentedControl" pada peta strategi 1.5 kami.

Kontrol Bilah Pemilih WinUI 3

Label dalam perintah utama CommandBarFlyout

Visual telah diperbarui CommandBarFlyout untuk menampilkan label teks untuk item di area perintah utama jika Label properti telah diatur pada AppBarButton. Sebelumnya, perintah utama di CommandBarFlyout area hanya menampilkan ikon, tetapi sekarang mereka dapat menampilkan ikon dan label untuk meningkatkan kegunaan.

Label CommandBarFlyout WinUI 3

Dukungan WebView2 untuk lingkungan/opsi kustom

Kontrol WinUI WebView2 sekarang mengekspos kemampuan untuk menyesuaikan objek yang mendasar CoreWebView2 dengan kustom CoreWebView2Environment dan CoreWebView2ControllerOptions. Ini memungkinkan penulis aplikasi menentukan jalur alternatif untuk memuat WebView2Runtime, memilih untuk menggunakan UserDataFolder yang berbeda, atau mengatur opsi seperti IsPrivateModeEnabled dan ScriptLocale.

Suppport untuk .NET 8

Kami menambahkan dukungan untuk .NET 8 dalam rilis layanan 1.4 baru-baru ini, tetapi itu masih menyimpan peringatan untuk penggunaan RID khusus platform. Dalam 1.5, kami menyelesaikan pekerjaan itu sehingga peringatan tidak lagi ada.

Penelusuran kesalahan dan ketersediaan sumber yang ditingkatkan

Kami sekarang menyuntikkan informasi server sumber Github untuk kode dalam repositori microsoft-ui-xaml ke simbol publik kami, yang memungkinkan debugger mengunduh kode sumber secara otomatis. Kami juga melakukan perbaikan dan peningkatan lainnya pada simbol kami di seluruh WinAppSDK untuk meningkatkan pengalaman debugging.

Fungsionalitas yang disempurnakan untuk siklus tata letak penelusuran kesalahan

Siklus tata letak penelusuran kesalahan di aplikasi WinUI dapat menjadi tantangan, jadi dalam 1,5 DebugSettings objek sekarang mengekspos opsi untuk mengaktifkan pengelogan dan titik henti yang ditingkatkan untuk proses tata letak agar lebih mudah untuk men-debug dan memperbaiki siklus tata letak di aplikasi.

Fitur baru lainnya dari seluruh WinAppSDK

  • Menambahkan dukungan untuk model penyebaran PublishSingleFile. Untuk informasi selengkapnya tentang PublishSingleFile, lihat Dokumentasi penyebaran file tunggal.
  • Menambahkan peningkatan pada dukungan pembaca layar, dukungan penskalaan teks, dan fitur aksesibilitas lainnya.
  • Berbagai peningkatan stabilitas dan performa berdasarkan backlog bug GitHub yang kami prioritaskan.

Fitur baru dirilis secara terpisah

Versi baru Templat Visual Studio WinAppSDK untuk C# dan C++ dirilis melalui Visual Studio Marketplace dan akan muncul beberapa minggu setelah rilis 1.5. Dengan versi baru, templat sekarang dapat dirilis secara independen dari rilis WinAppSDK, memberi kami lebih banyak fleksibilitas dalam mendapatkan pembaruan kepada pelanggan.

Fitur lain yang direncanakan sebelumnya

Pada 1.5, kami membuat kemajuan pada fitur-fitur berikut yang kami umumkan di peta strategi kami, tetapi tidak menyelesaikannya. Mereka akan berlanjut ke jangka waktu 1.6.

  • Jendela bertab
  • Dukungan seret-n-letakkan untuk WebView2
  • Investigasi ke dalam tampilan tabel dan kontrol tinta

Pencahayaan dinamis telah dihapus dari peta jalan untuk saat ini.

Masalah umum

  • Saat menggunakan pustaka yang berisi sumber daya seperti file .xaml, Anda mungkin mencapai pesan kesalahan pada runtime yang menunjukkan bahwa sumber daya tersebut tidak dapat ditemukan. Dalam hal ini, mungkin perlu disisipkan <ShouldComputeInputPris>true</ShouldComputeInputPris> dalam file proyek untuk memastikan sumber daya tersebut disertakan.
  • Mengklik chevron yang NavigationViewItem tidak lagi diperluas atau diciutkan dengan benar pada satu klik. Mengklik dua kali masih berfungsi, seperti halnya mengklik di tempat lain di NavigationViewItem.

Perbaikan bug

  • Memperbaiki masalah saat StackPanel menerapkan penspasian ke item yang diciutkan. Untuk informasi selengkapnya, lihat Masalah GitHub #916.
  • Memperbaiki masalah dengan kontrol gulir tidak lagi berfungsi setelah menutup jendela aplikasi lain. Untuk informasi selengkapnya, lihat Masalah GitHub #9292 dan #9355.
  • Memperbaiki crash saat mengatur DebugSettings.EnableFrameRateCounter ke true sebelum bingkai pertama dirender. Untuk informasi selengkapnya, lihat Masalah GitHub #2835.
  • Memperbaiki potensi kesalahan kompilasi untuk C++ di mana beberapa header tidak menyertakan dependensi yang diperlukan. Perhatikan bahwa perubahan pesanan #include mungkin berdampak pada beberapa aplikasi, seperti mungkin menyebabkan kesalahan kompilasi jika IInspectable aplikasi menggunakan versi C++/WinRT yang lebih lama dari 2023. Untuk informasi selengkapnya, lihat Masalah GitHub #9014.
  • Memperbaiki masalah di mana ElementName pengikatan tidak berfungsi di ItemsRepeaterDataTemplatedalam . Untuk informasi selengkapnya, lihat Masalah GitHub #560.
  • Memperbaiki crash saat menjalankan aplikasi di bawah Visual Studio dengan toolbar dalam aplikasi diaktifkan. Visual Studio 17.8 Pratinjau 2 atau yang lebih baru diperlukan untuk sepenuhnya mendapatkan perbaikan. Untuk informasi selengkapnya, lihat Masalah GitHub #8806.
  • Memperbaiki masalah di mana AnnotatedScrollbar terkadang dapat crash saat menggulir dengan cepat.
  • Memperbaiki masalah di mana teks menu terkadang akan terpotong.
  • Memperbaiki masalah di mana tips mengajar tidak menerima fokus yang tepat. Untuk informasi selengkapnya, lihat Masalah GitHub #3257.
  • Memperbaiki masalah yang merusak aplikasi saat mengatur TailVisibility ke TeachingTipCiutkan saat startup. Untuk informasi selengkapnya, lihat Masalah GitHub #8731.
  • Memperbaiki masalah tentang bagaimana file PRI ditangani saat menggunakan pustaka. Untuk informasi selengkapnya, lihat Masalah GitHub #8857.
  • Memperbaiki masalah dari rilis 1.5-experimental2 di mana DLL proyeksi tidak dihasilkan. Untuk informasi selengkapnya, lihat Masalah GitHub #4152.
  • Memperbaiki masalah di mana tombol elipsis pada popup RichEditBox pemformatan teks tidak menampilkan daftar tindakan dengan benar. Untuk informasi selengkapnya, lihat Masalah GitHub #9140.
  • Memperbaiki masalah saat ListView tidak menangani akselerator keyboard dengan benar. Untuk informasi selengkapnya, lihat Masalah GitHub #8063.
  • Memperbaiki masalah pelanggaran akses dengan menggunakan AccessKey untuk menutup jendela. Untuk informasi selengkapnya, lihat Masalah GitHub #8648.
  • Memperbaiki crash saat menggunakan AccessKey untuk menutup jendela. Untuk informasi selengkapnya, lihat Masalah GitHub #9002.
  • Memperbaiki masalah yang memengaruhi perataan teks dalam MenuFlyoutItem dalam MenuBar. Untuk informasi selengkapnya, lihat Masalah GitHub #8755.
  • Memperbaiki masalah di mana teks yang disorot tidak akan tetap disorot saat klik kanan. Untuk informasi selengkapnya, lihat Masalah GitHub #1801.
  • Memperbaiki masalah yang menyebabkan jendela tidak aktif mengalami crash pada aplikasi saat ditutup. Untuk informasi selengkapnya, lihat Masalah GitHub #8913.
  • Memperbaiki masalah yang dapat menggantung aplikasi saat menggulir dengan tombol mouse tengah dan mengklik kiri segera setelahnya. Untuk informasi selengkapnya, lihat Masalah GitHub #9233.
  • Memperbaiki masalah yang menyebabkan aplikasi mengalami crash saat startup saat menggunakan kustom NavigationViewItem. Untuk informasi selengkapnya, lihat Masalah GitHub #8814.
  • Memperbaiki NavigationView masalah di mana tombol elipsis akan salah menghasilkan kesalahan. Untuk informasi selengkapnya, lihat Masalah GitHub #8380.
  • Memperbaiki masalah di mana SystemBackdrop tidak akan dirender dengan benar di aplikasi multi-jendela. Untuk informasi selengkapnya, lihat Masalah GitHub #8423.
  • Memperbaiki masalah duplikasi saat menyisipkan ke awal ObservableCollection. Untuk informasi selengkapnya, lihat Masalah GitHub #8370.

Versi 1.4

Versi 1.4.5 (1.4.240211001)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.4.

  • Memperbaiki masalah yang dapat menggantung aplikasi saat mengklik tombol mouse saat menggulir dengan roda mouse. Untuk informasi selengkapnya, lihat Masalah GitHub #9233.
  • Memperbaiki masalah dengan aset duplikat saat mereferensikan rantai paket NuGet. Untuk informasi selengkapnya, lihat Masalah GitHub #8857.
  • Memperbaiki beberapa BreadcrumbBar masalah termasuk kebocoran memori, crash saat menu elipsis kosong, dan menu elipsis salah dibatasi di dalam jendela.
  • Memperbaiki potensi crash saat dimatikan saat merilis sumber daya grafis.

Versi 1.4.4 (1.4.231219000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.4.

  • Memperbaiki masalah keamanan diagnostik WinUI 3.
  • Memperbaiki masalah input di mana kotak kata sandi tidak menampilkan keyboard di layar saat diaktifkan melalui sentuhan. Untuk informasi selengkapnya, lihat Masalah GitHub #8946.
  • Memperbaiki masalah yang menyebabkan Microsoft.UI.Xaml.Controls.dll ukuran file tumbuh secara tak terduga.
  • Memperbaiki CommandBarFlyout masalah yang dapat menyebabkan crash saat mengatur fokus.
  • Dukungan SDK Aplikasi Windows yang diperbarui untuk penanganan aset khusus RID .NET 8.
  • Memperbaiki masalah yang menyebabkan beberapa swapchain diposisikan atau direntangkan dengan tidak benar.

Versi 1.4.3 (1.4.231115000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.4.

  • Memperbaiki masalah di mana menu dapat muncul tanpa latar belakang untuk waktu yang singkat.
  • Memperbaiki crash yang mungkin terjadi dalam skenario multi-monitor tertentu.
  • Memperbaiki masalah di mana menu konteks dapat muncul di luar layar.
  • Memperbaiki masalah dengan gaya Jendela dan memaksimalkan perilaku. Untuk informasi selengkapnya, lihat Masalah GitHub #8996.
  • Memperbaiki masalah dengan Kepulauan di mana fokus dapat secara tak terduga diambil dari kontrol lain.
  • Memperbaiki masalah dengan urutan tab pada NavigationView.
  • Memperbaiki masalah penyajian di mana bilah putih mungkin terlihat di bagian atas bilah judul. Untuk informasi selengkapnya, lihat Masalah GitHub #8947.
  • Berbagai perbaikan performa.

Versi 1.4.2 (1.4.231008000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.4.

  • Memperbaiki masalah crash di explorer.exe yang disebabkan oleh memori dan alokasi objek yang berlebihan.
  • Memperbaiki masalah interaksi bilah judul yang mencegah tombol kembali berfungsi dengan baik.
  • Memperbaiki masalah yang menyebabkan peringatan dihasilkan untuk file sumber yang disertakan beberapa kali.
  • Memperbaiki masalah yang memengaruhi performa menu konteks.
  • Memperbaiki masalah pintasan .lnk yang membuat target .exe selalu menunjuk ke lokasi yang sama untuk paket di folder WindowsApps.
  • Memperbaiki masalah DWriteCore yang memengaruhi penyajian teks Indic yang tepat dalam font tertentu.
  • Memperbaiki masalah dalam Tampilan Daftar yang mencegah navigasi keyboard yang tepat ke dan dari item terpilih berlapis dengan Tab/Shift + Tab.
  • Memperbaiki masalah yang melanggar pengguliran item ComboBox dengan menyentuh setelah memperluas ComboBox untuk kedua kalinya. Untuk informasi selengkapnya, lihat Masalah GitHub #8831.
  • Memperbaiki masalah di mana paket WinAppSDK tidak menyertakan sumber daya WinUI yang dilokalkan untuk beberapa bahasa.
  • Memperbaiki ketidakkonsistensian antara bagaimana File Explorer dan XAML menampilkan bahasa pilihan pengguna.
  • Memperbaiki masalah pengerjaan di File Explorer yang menyebabkan garis tipis ditampilkan di bawah tab aktif.
  • Memperbaiki masalah di mana beberapa akselerator keyboard yang disediakan kerangka kerja tidak dilokalkan dengan benar. Untuk informasi selengkapnya, lihat Masalah GitHub #2023.
  • Memperbaiki masalah dengan kontrol RepeatButton yang berulang kali digulir saat diketuk.
  • Memperbaiki penginstal WinAppSDK .exe untuk memiliki info versi sumber daya yang tepat.

Versi 1.4.1 (1.4.230913002)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.4.

  • Memperbaiki masalah performa untuk meningkatkan waktu ke bingkai pertama.
  • Memperbaiki masalah di mana menu tidak menghormati RequestedTheme. Misalnya, dimungkinkan bagi masalah ini untuk mengarah ke teks putih pada latar belakang putih. Untuk informasi selengkapnya, lihat Masalah GitHub #8756.
  • Memperbaiki masalah yang menyebabkan latar belakang akrilik terkadang menjadi sepenuhnya transparan di beberapa menu.
  • Memperbaiki masalah di mana XAML terkadang menyebabkan Windows tidak perlu mengecat ulang wallpaper desktop.
  • Memperbaiki dukungan untuk dan TabNavigation = Cycle untuk TabNavigation = LocalListView dan GridView, yang sekarang memungkinkan navigasi antara header dan item dengan TAB selain tombol panah.
  • Memperbaiki beberapa pengecualian yang berisik saat menutup tipsalat. Untuk informasi selengkapnya, lihat Masalah GitHub #8699.

Versi 1.4

Bagian berikut menjelaskan fitur baru dan yang diperbarui serta masalah yang diketahui untuk versi 1.4.

Di aplikasi SDK Aplikasi Windows 1.3 yang ada, Anda dapat memperbarui paket Nuget anda ke 1.4.230822000 (lihat bagian Memperbarui paket di Menginstal dan mengelola paket di Visual Studio menggunakan NuGet Package Manager).

Untuk runtime dan MSIX yang diperbarui, lihat Unduhan untuk SDK Aplikasi Windows.

Bilah judul kustom + Penggabungan bilah judul AppWindow

Titlebar kustom WinUI 3 menggunakan implementasi titlebar AppWindow, bersama dengan API NonClientInputPointerSource, di bawah kap di SDK Aplikasi Windows 1.4. Akibatnya, kedua implementasi titlebar sekarang berperilaku sama dengan fitur dan batasan yang sama. Ini sepenuhnya kompatibel mundur dalam semua kasus yang didukung - aplikasi apa pun dengan titlebar yang ditentukan khusus akan berperilaku seperti sebelumnya. Tapi, sekarang lebih mudah bagi pengembang WinUI 3 yang mungkin baru menggunakan titlebar kustom untuk memahami dan menggunakannya dengan memanfaatkan fitur baru ini:

  • Skenario default yang lebih baik di mana pengembang tidak menentukan elemen titlebar secara khusus (menggantikan titlebar fallback dari WinUI 2)
  • Wilayah seret yang berbeda di bilah judul, memungkinkan Anda membuat beberapa wilayah seret dan menempatkan kontrol yang dapat diklik di bagian mana pun dari area non-klien (area bilah judul)
  • Wilayah yang dapat diseret di seluruh aplikasi yang dapat diletakkan di mana saja di aplikasi atau membuat seluruh aplikasi dapat diseret
  • Dukungan tema yang lebih baik yang menggantikan tema berbasis sumber daya
    • Karena wilayah seret transparan, wilayah tersebut mengikuti tema aplikasi setiap saat
  • Kustomisasi lainnya: sembunyikan tombol min, maks, dan tutup; tempatkan ikon sistem di bilah judul; atau memiliki wilayah yang berbeda bertindak sebagai tombol keterangan yang menerima respons NCHITTEST
  • Lebih banyak kebebasan pengembang yang memungkinkan Anda untuk mencampur dan mencocokkan dengan API titlebar AppWindow, seperti menggunakan API WinUI 3 tingkat lebih tinggi untuk sebagian besar skenario tetapi dengan API AppWindow dicampur untuk kontrol tingkat bawah

Pembaruan widget

Tiga antarmuka baru telah ditambahkan bagi Penyedia Widget untuk mengimplementasikan: IWidgetProvider2, , IWidgetProviderAnalyticsdan IWidgetProviderErrors. IWidgetProvider2 memungkinkan penyedia untuk menanggapi tindakan Kustomisasi yang dipanggil oleh pengguna, yang identik dengan apa yang tersedia untuk Widget pihak ke-1. Antarmuka IWidgetProviderAnalytics dan IWidgetProviderErrors digunakan oleh penyedia untuk mengumpulkan telemetri untuk widget mereka; peristiwa analitik dan kegagalan tentang widget dikomunikasikan ke masing-masing penyedia widget. Kelas WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgs, dan WidgetErrorInfoReportedArgs digunakan untuk mengomunikasikan informasi yang relevan untuk mendukung fungsionalitas baru.

Kepulauan XAML tidak lagi bereksperimen

Kepulauan XAML dan platform ContentIslands yang mendasarinya tidak lagi bereksperimen.

  • Saat ini Kepulauan XAML hanya diuji untuk digunakan di aplikasi C++. Rilis ini tidak termasuk elemen pembungkus yang nyaman untuk digunakan dalam WPF atau WinForms.
  • DesktopWindowXamlSource dan jenis terkait telah ditambahkan di namespace Microsoft.UI.Xaml.Hosting untuk Kepulauan XAML. XamlRoot.ContentIslandEnvironment ditambahkan untuk membantu mengakses informasi Pulau yang mendasar untuk elemen .
  • Banyak jenis baru telah diperkenalkan di namespace Microsoft.UI.Content dan namespace Microsoft.UI.Input sebagai dukungan yang mendasari untuk Kepulauan XAML atau untuk menggunakan fungsionalitas ContentIslands ini tanpa XAML.
  • Namespace layanan baru DragDropManager (plus jenis terkait) telah ditambahkan di namespace Microsoft.UI.Input.DragDrop untuk skenario Island.

ItemTampilan

Kami memperkenalkan kontrol daftar baru yang disebut ItemsView dan kelas konkret ItemContainer yang sesuai. ItemContainer adalah kontainer ringan dengan status dan visual pilihan bawaan, yang dapat dengan mudah membungkus konten yang diinginkan dan digunakan dengan ItemsView untuk skenario kontrol koleksi.

  • Kontrol baru ItemsView menampilkan pengumpulan data. ItemsViewmirip ListView dengan kontrol dan GridView , tetapi dibangun menggunakan ItemsRepeaterkomponen , , ScrollViewItemContainer dan ItemCollectionTransitionProvider . Ini menawarkan kemampuan unik untuk mencolokkan kustom Layout atau ItemCollectionTransitionProvider implementasi. Keuntungan utama lainnya adalah kemampuan untuk mengalihkan tata letak dengan cepat sambil mempertahankan pilihan item. Kontrol dalam ScrollView juga menawarkan fitur yang tidak tersedia dalamGridViewListView/ScrollViewer kontrol seperti kemampuan untuk mengontrol animasi selama gulungan terprogram.
    • Properti baru ItemTransitionProvider pada ItemsRepeater (dan kontrol baru ItemsView ) memungkinkan Anda menentukan ItemCollectionTransitionProvider objek untuk mengontrol animasi transisi pada kontrol tersebut. Metode CreateDefaultItemTransitionProvider juga telah ditambahkan ke Layout, yang memungkinkan objek tata letak untuk menyediakan transisi fallback untuk menyertainya jika Anda tidak menyediakannya secara eksplisit pada ItemsView kontrol.
    • Properti baru IndexBasedLayoutOrientation tempat Layout orientasi tata letak, jika ada, item didasarkan pada indeksnya dalam kumpulan sumber. Nilai defaultnya adalah IndexBasedLayoutOrientation.None. Tata letak kustom mengatur properti ini dengan memanggil metode baru (dilindungi). SetIndexBasedLayoutOrientation
    • Properti baru VisibleRect pada VirtualizingLayoutContext mendapatkan persegi panjang viewport yang terlihat dalam yang FrameworkElement terkait dengan Layout. Metode virtual VirtualizingLayoutContext.VisibleRectCore yang dilindungi dapat ditimpa untuk memberikan nilai yang akan dikembalikan dari VisibleRect properti .
  • Kelas baru LinedFlowLayout biasanya digunakan untuk menjabarkan item ItemsView kontrol koleksi. Ini sangat berguna untuk menampilkan koleksi gambar. Itu melakukannya dengan meletakkannya dari kiri ke kanan, dan atas ke bawah, dalam garis tinggi yang sama. Gambar mengisi garis horizontal lalu membungkus ke baris berikutnya. Gambar dapat dipotong di tepi kiri dan kanan agar pas ke dalam garis. Mereka juga dapat diperluas secara horizontal dan dipangkas di tepi atas dan bawah untuk mengisi garis ketika mode peregangan digunakan.

Fitur baru dari seluruh WinAppSDK

  • Kelas baru ThemeSettings yang memungkinkan aplikasi Win32 WinRT mendeteksi kapan pengaturan Kontras Tinggi sistem telah berubah, mirip dengan kelas Aksesibilitas UWP Pengaturan. Lihat Spesifikasi API Tema Pengaturan di GitHub untuk informasi selengkapnya.
  • AccessKeyManager.EnterDisplayMode adalah metode baru untuk menampilkan kunci akses untuk elemen terfokus saat ini dari akar yang disediakan. Tombol akses berada dalam "mode tampilan" saat menampilkan tip tombol untuk memanggil perintah, seperti menekan tombol Alt di Paint untuk menampilkan tombol apa yang sesuai dengan kontrol apa. Metode ini memungkinkan untuk memasukkan mode tampilan secara terprogram.
  • Application.ResourceManagerRequested menyediakan mekanisme untuk menyediakan yang berbeda IResourceManager untuk mengatasi URI sumber daya untuk skenario saat default ResourceManager tidak akan berfungsi. Untuk informasi selengkapnya, lihat spesifikasi API Application.ResourceManagerRequested di GitHub.
  • Versi WebView2 SDK diperbarui dari 1661.34 ke 1823.32.
  • Popup/FlyoutBase.IsConstrainedToRootBounds = false sekarang didukung, memungkinkan popup/flyout untuk meluas di luar batas jendela induk. Properti SystemBackdrop telah ditambahkan ke jenis ini untuk mendukung akrilik dalam popup yang tidak dibatasi ini. Menu secara default gunakan ini untuk memiliki akrilik.
  • Closed, FrameworkClosed, dan IsClosed telah ditambahkan ke DesktopAcrylicController dan MicaController untuk meningkatkan penanganan selama pematian objek/utas.
  • DesktopAcrylicController.Kind sekarang dapat diatur untuk memilih antara beberapa penampilan akrilik standar.
  • DispatcherQueue memiliki beberapa peristiwa dan pembantu baru untuk memfasilitasi penonaktifan yang lebih terorganisir dan untuk aplikasi yang menggunakan Kepulauan untuk menjalankan perulangan peristiwa yang didukung standar dengan mudah.
  • InputNonClientPointerSource di namespace Microsoft.UI.Input dapat digunakan untuk skenario titlebar kustom untuk menentukan wilayah area non-klien. Kode dapat mendaftar untuk peristiwa yang sesuai seperti arahkan kumparan dan mengeklik peristiwa di wilayah ini.
  • AppWindow memiliki beberapa pembantu baru untuk mendapatkan dan mengaitkan dengan DispatcherQueue.
  • Peristiwa baru TreeView.SelectionChanged memungkinkan pengembang merespons ketika pengguna atau kode di belakang mengubah kumpulan simpul yang dipilih dalam TreeView kontrol.
  • Kontrol baru ScrollView menyediakan alternatif baru untuk ScrollViewer. Kontrol baru ini sangat selaras dalam perilaku dan API dengan kontrol yang ada ScrollViewer , tetapi didasarkan pada InteractionTracker, memiliki fitur baru seperti perubahan tampilan berbasis animasi, dan juga dirancang untuk memastikan fungsionalitas ItemsRepeaterpenuh . Lihat ScrollViewer yang lebih fleksibel · Masalah #108 · microsoft/microsoft-ui-xaml (github.com) untuk detail selengkapnya. Berbagai jenis baru, termasuk ScrollPresenter, adalah bagian dari model keseluruhan ScrollView .
  • Kontrol baru AnnotatedScrollBar memperluas fungsionalitas bilah gulir reguler dengan menyediakan cara mudah untuk menavigasi melalui kumpulan item yang besar. Ini dicapai melalui rel yang dapat diklik dengan label yang bertindak sebagai penanda. Ini juga memungkinkan pemahaman yang lebih terperinci tentang konten yang dapat digulir dengan menampilkan tipsalat saat melayang di atas rel yang dapat diklik.

Masalah umum

Perbaikan bug

  • Memperbaiki masalah saat memanggil Microsoft.Windows.AppLifecycle.AppInstance.Restart("") API menyebabkan aplikasi yang tidak dikemas mengalami crash. Untuk informasi selengkapnya, lihat Masalah GitHub #2792.
  • Memperbaiki masalah crash penginstal yang diperkenalkan dalam 1.4-eksperimental1. Untuk informasi selengkapnya, lihat Masalah GitHub #3760.
  • Memperbaiki masalah di mana coretan teks tidak dihapus dengan benar dalam TextBlock. Untuk informasi selengkapnya, lihat Masalah GitHub #1093.
  • Memperbaiki masalah yang menyebabkan navigasi Shift + Tab yang salah di Panel dengan TabFocusNavigation diatur ke "Sekali." Untuk informasi selengkapnya, lihat Masalah GitHub #1363.
  • Memperbaiki masalah di C++/WinRT yang mencegah {x:Bind} bekerja dengan baik dengan properti kontrol XAML bernama. Untuk informasi selengkapnya, lihat Masalah GitHub #2721.
  • Memperbaiki masalah AccessViolation runtime di aplikasi WinUI Desktop yang disebabkan oleh pengaturan DebugSettings.EnableFrameRateCounter = true. Untuk informasi selengkapnya, lihat Masalah GitHub #2835.
  • Memperbaiki masalah saat XamlTypeInfo.g.cpp tidak menyertakan header yang diperlukan. Untuk informasi selengkapnya, lihat Masalah GitHub #4907.
  • Memperbaiki masalah crash yang disebabkan oleh input multi-sentuhan dan mouse secara bersamaan. Untuk informasi selengkapnya, lihat Masalah GitHub #7622.
  • Memperbaiki masalah yang mencegah jendela aplikasi WinUI 3 aktif menggulir ketika pengaturan sistem untuk menonaktifkan pengguliran jendela tidak aktif pada mouse over berlaku. Untuk informasi selengkapnya, lihat Masalah GitHub #8764.
  • Memperbaiki crash saat mencoba subkelas MediaPlayerElement.
  • Memperbaiki beberapa masalah crash dan kebocoran memori di TreeView.
  • Memperbaiki masalah hang aplikasi yang dapat terjadi saat menggunakan keyboard untuk menavigasi di RadioButtons.
  • Memperbaiki crash saat menggunakan keyboard untuk menavigasi dalam PipsPager.
  • Memperbaiki konten WebView2 untuk diskalakan dengan pengaturan Aksesibilitas "Ukuran teks" di aplikasi Pengaturan.
  • Memperbaiki crash yang dapat terjadi ketika animasi berjalan ketika tampilan dimatikan.
  • Memperbaiki masalah performa yang diperkenalkan dalam 1,3 yang menambahkan overhead ~10% ke tata letak/render pertama.

Versi 1.3

Versi 1.3.3 (1.3.230724000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.3.

  • Memperbaiki masalah di mana mouse terkadang akan berhenti berfungsi ketika kotak dialog ditutup.
  • Memperbaiki masalah penyebaran yang mencegah aplikasi diinstal karena ketidakcocokan versi paket pada sistem. Untuk informasi selengkapnya, lihat Masalah GitHub #3740.
  • Memperbaiki masalah yang memengaruhi pemosisian menu konteks di SDK Aplikasi Windows 1.3.
  • Memperbaiki masalah yang menyebabkan beberapa aplikasi WinUI3, dalam beberapa situasi, mengalami crash saat aplikasi ditutup karena XAML mematikan dirinya terlalu dini.
  • Memperbaiki masalah di mana ikon font tidak mencerminkan dengan benar dalam bahasa kanan-ke-kiri. Untuk informasi selengkapnya, lihat Masalah GitHub #7661.
  • Memperbaiki masalah yang menyebabkan aplikasi mengalami crash saat pematian saat sumber daya dicabik-cabik dalam urutan yang buruk. Untuk informasi selengkapnya, lihat Masalah GitHub #7924.

Versi 1.3.2 (1.3.230602002)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.3.

  • Memperbaiki crash saat mengatur Kursor Terproteksi.
  • Memperbaiki masalah performa di XamlMetadataProvider selama pengaktifan aplikasi. Untuk informasi selengkapnya, lihat Masalah GitHub #8281.
  • Memperbaiki masalah dengan hyperlink dan menyentuh RichTextBlock. Untuk informasi selengkapnya, lihat Masalah GitHub #6513.
  • Memperbaiki masalah dengan pengguliran dan touchpad di WebView2. Untuk informasi selengkapnya, lihat Masalah GitHub #7772.
  • Memperbaiki masalah saat pembaruan SDK Aplikasi Windows terkadang memerlukan hidupkan ulang Visual Studio. Untuk informasi selengkapnya, lihat Masalah GitHub #3554.
  • Memperbaiki pengecualian yang bising saat dimatikan saat berjalan dalam debugger.

Versi 1.3.1 (1.3.230502000)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.3.

  • Memperbaiki masalah yang menyebabkan aplikasi mengalami crash saat mengatur SystemBackdrop jika Konten null. Untuk informasi selengkapnya, lihat Masalah GitHub #8416.
  • Memperbaiki masalah yang menyebabkan aplikasi mengalami crash saat mengatur Judul Jendela di XAML, kemampuan baru yang ditambahkan dalam 1.3.0. Untuk informasi selengkapnya, lihat Masalah GitHub #3689.
  • Memperbaiki masalah di mana jendela salah mengambil fokus saat kontennya berubah.
  • Memperbaiki masalah dalam membuat proyek C++ dengan templat proyek WinAppSDK 1.3.
  • Templat yang diperbarui di Visual Studio Marketplace

Versi 1.3

Bagian berikut menjelaskan fitur baru dan yang diperbarui serta masalah yang diketahui untuk versi 1.3.

Di aplikasi SDK Aplikasi Windows 1.2 yang ada, Anda dapat memperbarui paket Nuget ke 1.3.230331000 (lihat bagian Memperbarui paket di Menginstal dan mengelola paket di Visual Studio menggunakan Manajer Paket NuGet).

Untuk runtime dan MSIX yang diperbarui, lihat Unduhan untuk SDK Aplikasi Windows.

API Backdrop XAML

Dengan properti bawaan XAML Window, latar belakang Mica & Background Acrylic sekarang lebih mudah digunakan di aplikasi WinUI 3 Anda. Lihat dokumen System Backdrop dan Mica Backdrop API untuk informasi selengkapnya tentang properti Xaml Backdrop.

public MainWindow()
{
    this.InitializeComponent();

    this.SystemBackdrop = new MicaBackdrop();
}

Window.AppWindow

Mengganti beberapa baris kode boilerplate, Anda sekarang dapat menggunakan API AppWindow langsung dari Jendela melalui Window.AppWindow.

Fitur baru dari seluruh WinAppSDK

  • ApplicationModel.DynamicDependency: PackageDependency.PackageGraphRevisionId yang menggantikan MddGetGenerationId yang tidak digunakan lagi.
  • Pengelola Lingkungan: EnvironmentManager.AreChangesTracked untuk memberi tahu Anda apakah perubahan pada pengelola lingkungan dapat dilacak di aplikasi Anda.
  • Peristiwa baru, Debug Pengaturan. XamlResourceReferenceFailed sekarang dinaikkan ketika pencarian Statis/ThemeResource yang direferensikan tidak dapat diselesaikan. Kejadian ini memberikan akses ke jejak yang merinci tempat kerangka kerja mencari kunci tersebut untuk memungkinkan Anda men-debug kegagalan pencarian Statis & ThemeResource dengan lebih baik. Untuk informasi selengkapnya, lihat spesifikasi API kegagalan pencarian referensi sumber daya XAML Pelacakan di GitHub.

Pembaruan lainnya

  • Lihat tonggak WinAppSDK 1.3 kami di WinAppSDK GitHub untuk masalah tambahan yang dibahas dalam rilis ini.
  • Lihat tonggak WinUI 3 di WinAppSDK 1.3 kami di GitHub microsoft-ui-xaml untuk masalah tambahan yang ditangani dalam rilis ini.
  • Dengan VSIX eksperimental terbaru, Anda sekarang dapat mengonversi aplikasi antara unpackaged dan dikemas melalui menu Visual Studio alih-alih di file proyek Anda.

Masalah yang diketahui

Karena perubahan terbaru pada pengkompilasi xaml, proyek yang ada yang ditingkatkan ke 1.3 mungkin mengalami kesalahan build seperti berikut ini dalam Visual Studio:

> C:\Users\user\\.nuget\packages\microsoft.windowsappsdk\\**1.3.230331000**\buildTransitive\Microsoft.UI.Xaml.Markup.Compiler.interop.targets(537,17): error MSB4064: The "PrecompiledHeaderFile" parameter is not supported by the "CompileXaml" task loaded from assembly: Microsoft.UI.Xaml.Markup.Compiler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=de31ebe4ad15742b from the path: C:\Users\user\\.nuget\packages\microsoft.windowsappsdk\\**1.2.230118.102**\tools\net472\Microsoft.UI.Xaml.Markup.Compiler.dll. Verify that the parameter exists on the task, the <UsingTask> points to the correct assembly, and it is a settable public instance property.

Ini disebabkan oleh Visual Studio menggunakan dll tugas kompilator xaml cache dari 1.2, tetapi mendorongnya dengan logika MSBuild yang tidak kompatibel dari 1.3, seperti yang terlihat pada teks kesalahan di atas. Solusinya adalah mematikan Visual Studio, memulai ulang, dan memuat ulang solusi.

Versi 1.2

Versi 1.2.5 (1.2.230313.1)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.2.

  • Memperbaiki masalah yang menyebabkan aplikasi mengalami crash selama pematian Komposisi.
  • Memperbaiki masalah yang menyebabkan aplikasi terus menjalankan animasi bahkan saat layar mati.
  • Memperbaiki masalah yang menyebabkan input mouse dan sentuhan gagal di WebView2 saat input mouse dan keyboard terjadi secara bersamaan. Untuk informasi selengkapnya, lihat Masalah GitHub #3266.

Versi 1.2.4 (1.2.230217.4)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.2.

  • Memperbaiki masalah yang menyebabkan aplikasi mandiri tidak dapat mengatur Pengaturan UAC. Untuk informasi selengkapnya, lihat Masalah GitHub #3376.
  • Memperbaiki masalah yang menyebabkan pemberitahuan push mengembalikan waktu Kedaluwarsa yang tidak akurat dengan PushNotificationChannel::ExpirationTime. Untuk informasi selengkapnya, lihat Masalah GitHub #3300.
  • Memperbaiki masalah yang menyebabkan angka negatif dianggap "tidak valid" saat meneruskan ganda sebagai parameter ke dalam fungsi x:Bind.
  • Beberapa perbaikan untuk memperbarui WinUI VSIX. Pembaruan ini termasuk menyederhanakan dipAwareness templat proyek di app.manifest, menghapus templat UWP, memperbarui file sumber daya yang dilokalkan, menambahkan id telepon untuk membuka blokir pengiriman penyimpanan, dan menghapus pemberitahuan dan lisensi hak cipta. Untuk informasi selengkapnya lihat Masalah GitHub #5659, #3205, #3323, #3322, #3143.

Versi 1.2.3 (1.2.230118.102)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.2.

  • Memperbaiki masalah yang menyebabkan aplikasi WinUI 3 mengalami crash saat beberapa jendela ditutup.
  • Memperbaiki masalah yang menyebabkan crash pada aplikasi ditutup saat dua atau beberapa referensi ke antarmuka ThreadPoolTimer dipanggil. Untuk informasi selengkapnya, lihat Masalah GitHub #7260 dan #7239.
  • Memperbaiki masalah yang menyebabkan semua aplikasi MSIX proyek tunggal berjalan sebagai kepercayaan penuh. Untuk informasi selengkapnya, lihat Masalah GitHub #7766.

Versi 1.2.2 (1.2.221209.1)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.2.

  • Memperbaiki masalah yang menyebabkan paket Penyimpanan dan beban samping (misalnya dari penginstal, NuGet, dan bootstrapper) gagal diinstal jika yang lain sudah diinstal. Untuk informasi selengkapnya, lihat Masalah GitHub #3168.
  • Memperbaiki masalah yang menyebabkan hilangnya efek elastisitas dan kurva animasi saat menggulir dengan touchpad. Untuk informasi selengkapnya, lihat Masalah GitHub #7874.
  • Memperbaiki masalah di ListView yang menyebabkan kebocoran memori.
  • Memperbaiki masalah yang menyebabkan templat Tombol tidak menghormati properti Latar Depan setelah mouse diarahkan. Untuk informasi selengkapnya, lihat Masalah GitHub #7208.
  • Memperbaiki masalah yang menyebabkan pengecualian yang tidak diperlukan ketika tidak ada MediaPlaybackItem di MediaElement.
  • Memperbaiki masalah yang menyebabkan bingkai putih muncul di MediaPlayerElement pada transisi konten.
  • Memperbaiki masalah tambahan yang menyebabkan App.UnhandledException tidak menangkap pengecualian dari utas lain. Untuk informasi selengkapnya, lihat Masalah GitHub #1259 dan #5221.

Versi 1.2.1 (1.2.221116.1)

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.2.

Memperbaiki masalah yang menyebabkan crash saat startup di aplikasi C++ WinUI 3 saat menambahkan kontrol WebView2 atau TextBox. Untuk informasi selengkapnya, lihat Masalah GitHub #7911 & #3117.

Versi 1.2

Bagian berikut menjelaskan fitur baru dan yang diperbarui, batasan, dan masalah yang diketahui untuk 1.2.

Catatan

Visual Studio 2019 dan .NET 5 tidak lagi didukung untuk membangun aplikasi C# (lihat SDK Aplikasi Windows 1.2 pindah ke C# WinRT 2.0). Anda akan memerlukan Visual Studio 2022 dan salah satu versi .NET SDK berikut: 6.0.401 (atau yang lebih baru), 6.0.304, 6.0.109. Saat dirilis, WinAppSDK 1.2 juga akan mendukung .NET 7.

Untuk memperbarui versi .NET SDK Anda, instal versi terbaru Visual Studio 2022 atau kunjungi Unduhan .NET. Saat memperbarui paket NuGet Anda tanpa versi .NET SDK yang diperlukan, Anda akan melihat kesalahan seperti: "Versi WindowsAppSDK ini memerlukan .NET 6+ dan WinRT.Runtime.dll versi 2.0 atau lebih tinggi.". Untuk memperbarui proyek dari .NET 5.0 ke .NET 6.0, buka file proyek dan ubah "TargetFramework" ke net6.0 dan "Versi OS Target" ke nilai yang sesuai (seperti net6.0-windows10.0.19041.0).

Widget pihak ketiga di Windows

Papan widget pertama kali diperkenalkan di Windows 11 dan terbatas pada menampilkan widget bawaan. Widget adalah kontainer UI kecil yang menampilkan teks dan grafik di papan widget, dan dikaitkan dengan aplikasi yang diinstal pada perangkat. Dengan SDK Aplikasi Windows, sebagai pengembang pihak ketiga, Anda sekarang dapat membuat widget untuk aplikasi Win32 paket Anda dan mengujinya secara lokal di papan widget Windows 11.

Untuk informasi selengkapnya tentang widget, lihat Gambaran Umum Widget.

Untuk mulai mengembangkan widget untuk aplikasi Anda, lihat dokumen pengembangan penyedia layanan Widget dan dasar-dasar desain Widget untuk prasyarat , panduan, dan praktik terbaik.

Prasyarat untuk rilis ini meliputi:

  • Mode pengembang diaktifkan pada komputer pengembangan.
  • Mesin pengembangan menjalankan versi Windows dari Dev Channel Windows Insider Preview (WIP) yang lebih besar dari atau sama dengan 25217 dengan papan widget versi 521.20060.1205.0 atau lebih tinggi.

Batasan yang diketahui saat mengembangkan Widget

  • Widget pihak ketiga hanya dapat diuji secara lokal pada perangkat yang terdaftar di WIP untuk rilis pratinjau ini.
  • Widget hanya dapat dibuat untuk aplikasi Win32 yang di kemas. Widget untuk Progressive Web Apps (PWA) direncanakan didukung sebagai bagian dari Microsoft Edge 108.

DisplayInformation

Aplikasi desktop Windows sekarang dapat mendukung High Dynamic Range (HDR) dan Auto Color Management (ACM) melalui kelas DisplayInformation di WinAppSDK. Kelas DisplayInformation memungkinkan Anda memantau informasi terkait tampilan untuk tampilan aplikasi. Ini termasuk peristiwa untuk memungkinkan klien memantau perubahan dalam tampilan aplikasi yang memengaruhi tampilan mana yang berada, serta perubahan tampilan yang dapat memengaruhi tampilan aplikasi.

WinUI 3

Aplikasi WinUI 3 dapat memutar audio dan video dengan kontrol pemutaran media MediaPlayerElement dan MediaTransportControls. Untuk informasi selengkapnya tentang cara dan waktu penggunaan kontrol media, lihat Pemutar media.

WinUI 3 telah diperbarui dengan kontrol, gaya, dan perilaku terbaru dari WinUI 2.8. Pembaruan ini termasuk penambahan kontrol InfoBadge , peningkatan aksesibilitas dan mode kontras tinggi, serta perbaikan bug di seluruh kontrol. Untuk detail selengkapnya, lihat catatan rilis untuk WinUI 2.7 dan WinUI 2.8.

Masalah yang diperbaiki

Batasan yang Diketahui

  • Saat membuat proyek WinUI 3 baru dengan Visual Studio 2022 17.4.0, ini akan mereferensikan versi pratinjau WinAppSDK. Gunakan NuGet Package Manager untuk memperbarui referensi ke rilis ini.
  • Pengaturan MediaPlayerElement.Source ke URI relatif (ms-appx/ms-resource) gagal di aplikasi yang tidak dikemas. Solusi yang direkomendasikan adalah mengonversi URI ms-appx:/// relatif ke URI file:/// yang diselesaikan sepenuhnya.

Pemangkasan untuk aplikasi yang dikembangkan dengan .NET

Pengembang .NET sekarang dapat menerbitkan aplikasi WinAppSDK yang dipangkas. Dengan CsWinRT 2.0, proyeksi C#/WinRT yang didistribusikan di WinAppSDK sekarang dapat dipangkas. Menerbitkan aplikasi yang dipangkas dapat mengurangi jejak disk aplikasi Anda dengan menghapus kode yang tidak digunakan dari biner yang dapat dipangkas. Aplikasi mungkin juga melihat peningkatan performa startup. Dengan aplikasi Halo Dunia dasar, kami telah melihat peningkatan jejak disk ~80% dan peningkatan performa startup ~7% saat diterbitkan dipangkas. Dengan galeri WinUI, kami telah melihat peningkatan jejak disk ~45%.

Untuk detail selengkapnya tentang cara mengaktifkan pemangkasan, pemangkasan batasan (seperti refleksi terhadap jenis yang dapat dipangkas), dan memangkas peringatan, lihat Memangkas penyebaran mandiri dan dapat dieksekusi. Pengembang harus menguji aplikasi mereka secara menyeluruh setelah pemangkasan untuk memastikan semuanya berfungsi seperti yang diharapkan. Untuk informasi selengkapnya, lihat masalah 2478 di GitHub.

Dukungan untuk Visual Studio Arm64

Pada awal Project Reunion (sekarang WinAppSDK) 0.5, aplikasi yang dikembangkan dengan WinAppSDK dapat berjalan di Arm64. Dimulai dengan Visual Studio 17.3 Preview 2, Anda dapat mengembangkan aplikasi asli dengan WinAppSDK di perangkat Arm64.

Untuk mulai mengembangkan pada perangkat Arm64, lihat Windows di Arm dan Arm64 Visual Studio.

Notifications

AppNotificationBuilder diperkenalkan sebagai alternatif untuk payload XML untuk membuat dan menentukan Pemberitahuan Aplikasi.

Untuk informasi penggunaan, lihat spesifikasi AppNotificationBuilder di GitHub.

Lihat juga Mulai Cepat: Pemberitahuan aplikasi di SDK Aplikasi Windows untuk contoh cara membuat aplikasi Windows desktop yang mengirim dan menerima pemberitahuan aplikasi lokal.

Perubahan mencolok

Untuk pemberitahuan push, saat melakukan panggilan permintaan saluran, aplikasi harus menggunakan ID Objek Azure alih-alih ID Aplikasi Azure. Lihat Mulai Cepat: Pemberitahuan push di SDK Aplikasi Windows untuk detail tentang menemukan ID Objek Azure Anda.

Memperbaiki masalah

PushNotificationManager.IsSupported akan melakukan pemeriksaan untuk mode yang ditinggikan. Ini akan kembali false jika aplikasi ditingkatkan.

Batasan yang diketahui (Pemberitahuan)

Windowing

Kustomisasi bilah judul lengkap sekarang tersedia di Windows 10, versi 1809 dan yang lebih baru melalui kelas AppWindowTitleBar. Anda dapat mengatur AppWindowTitleBar.ExtendsContentIntoTitleBar untuk true memperluas konten ke area bilah judul, dan SetDragRectangles untuk menentukan wilayah seret (selain opsi kustomisasi lainnya).

Jika Anda telah menggunakan properti AppWindowTitleBar.IsCustomizationSupported untuk memeriksa apakah Anda dapat memanggil API AppWindowTitleBar, sekarang kembali true pada versi SDK Aplikasi Windows Windows 10 yang didukung (1809 dan yang lebih baru).

Batasan yang diketahui (Windowing)

Kustomisasi bilah judul dasar tidak didukung pada Windows 10. Ini termasuk BackgroundColor, InactiveBackgroundColor, ForegroundColor, InactiveForegroundColor dan IconShowOptions. Jika Anda memanggil properti ini, properti tersebut akan diabaikan secara diam-diam. Semua API AppWindowTitleBar lainnya berfungsi di Windows 10, versi 1809, dan yang lebih baru. Untuk API warna tombol keterangan (antara lain) dan Tinggi, ExtendsContentIntoTitleBar harus diatur ke true, jika tidak, mereka juga akan diabaikan secara diam-diam.

Kontrol akses

Memperkenalkan fungsi security.accesscontrol.h dengan Fungsi GetSecurityDescriptorForAppContainerNames untuk memudahkan dan menyederhanakan berbagi objek bernama antara proses yang dikemas dan API Win32 umum. Metode ini mengambil daftar Nama Keluarga Paket (PFN) dan masker akses, dan mengembalikan deskriptor keamanan. Untuk informasi selengkapnya, lihat spesifikasi GetSecurityDescriptorForAppContainerNames di GitHub.

Batasan lain dan masalah yang diketahui

Penting

Saat Anda mereferensikan WinAppSDK 1.2 dari proyek, Anda mungkin melihat kesalahan yang mirip dengan: "Paket yang terdeteksi diturunkan: Microsoft.Windows.SDK.BuildTools dari 10.0.22621.1 ke 10.0.22000.194.", yang disebabkan oleh referensi yang tidak kompatibel ke paket dari proyek aplikasi dan paket WinAppSDK. Untuk mengatasinya, Anda dapat memperbarui referensi dalam proyek ke versi Microsoft.Windows.SDK.BuildTools yang lebih baru dan kompatibel.

  • Pengujian unit mungkin gagal dengan REGDB_E_CLASSNOTREG kesalahan di panel Output pengujian di Visual Studio. Sebagai solusinya, Anda dapat menambahkan <WindowsAppContainer>true</WindowsAppContainer> ke file proyek Anda.
  • .NET PublishSingleFile tidak didukung.
  • Default bootstrapper dan Undocked RegFree WinRT auto-initializer adalah (sekarang) hanya diatur untuk proyek yang menghasilkan executable (OutputType=Exe atau WinExe). Ini mencegah penambahan penginisialisasi otomatis ke DALAM DLL pustaka kelas dan non-executable lainnya secara default.
    • Jika Anda memerlukan penginisialisasi otomatis dalam non-executable (misalnya DLL pengujian yang dimuat oleh executable generik yang tidak menginisialisasi Bootstrapper) Anda dapat secara eksplisit mengaktifkan penginisialisasi otomatis di proyek Anda melalui <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize> atau <WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>.
  • Microsoft.WindowsAppRuntime.Release.Net.dll selalu biner Arm64 dan tidak berfungsi untuk aplikasi x86 dan x64. Saat secara eksplisit memanggil API Bootstrap, jangan gunakan rakitan Microsoft.WindowsAppRuntime.Release.Net.dll. Sebagai solusinya, Anda dapat menyertakan konstanta versi dalam file sumber ini yang didistribusikan dengan paket NuGet: '.. . \include\WindowsAppSDK-VersionInfo.cs' atau gunakan auto-initializer.

Versi 1.1

Rilis terbaru yang tersedia dari silsilah 1.1.x dari saluran stabil SDK Aplikasi Windows adalah versi 1.1.5. 1.1.x mendukung semua fitur saluran yang stabil (lihat bagian Fitur yang tersedia oleh saluran rilis di saluran rilis SDK Aplikasi Windows).

Versi 1.1.5

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.1.

Perbaikan bug

  • Memperbaiki masalah di mana Acrylic tidak berfungsi jika Mica diaktifkan. Untuk informasi selengkapnya, lihat masalah 7200 di GitHub.
  • Memperbaiki masalah yang menyebabkan aplikasi yang bergantung pada penginstal WindowsAppRuntime (misalnya aplikasi yang tidak dikemas) gagal dijalankan pada komputer Windows 10 ARM64. Untuk informasi selengkapnya, lihat masalah 2564 di GitHub.

Versi 1.1.4

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.1.

Perbaikan bug

  • Memperbaiki regresi dari 1.0.x yang menyebabkan kontrol ListView, TreeView, dan 'Daftar' lainnya mengalami crash saat menggulir dengan banyak item. Untuk informasi selengkapnya, lihat masalah 7230 di GitHub.
  • Memperbaiki masalah dengan DispatcherQueue yang menyebabkan panggilan balik antrean tidak lagi dipanggil.
  • Memperbaiki masalah yang menyebabkan crash aplikasi saat memanggil DeploymentManager.Initialize beberapa kali dalam sesi aplikasi yang sama.
  • Memperbaiki masalah yang menyebabkan aplikasi C# gagal dibangun di Arm64 Visual Studio. Untuk informasi selengkapnya, lihat masalah 7140 di GitHub.
  • Memperbaiki crash terputus-terputus dalam kode pencitraan XAML karena penanganan kegagalan yang salah.
  • Memperbaiki masalah kebocoran memori saat melampirkan penanganan aktivitas di ItemsRepeater dengan UserControl induk. Untuk informasi selengkapnya, lihat masalah 6123 di GitHub.
  • Memperbaiki masalah yang menyebabkan kegagalan build di Visual Studio 17.3 saat proyek aplikasi dikonfigurasi untuk mengaktifkan pembaruan otomatis paketnya saat dimuat samping (yaitu .appinstaller). Untuk informasi selengkapnya, lihat masalah 2773.
  • Memperbaiki masalah yang menyebabkan aplikasi paket terdistribusi Store yang memanggil Inisialisasi (perlu untuk Push) untuk menyebutnya secara berlebihan sebagai DeploymentManager::GetStatus dikembalikan Package Install Needed ketika paket utama dan singleton sudah diinstal. Hal ini menyebabkan degradasi perf pada peluncuran aplikasi.
  • Memperbaiki masalah yang menyebabkan pengecualian dalam aplikasi instans tunggal saat peristiwa pembersihan dimaksudkan untuk diabaikan jika tidak dapat dibuka. Untuk informasi selengkapnya, lihat PR di GitHub.

Versi 1.1.3

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.1.

Perbaikan bug

  • Memperbaiki serangkaian masalah terkait di mana XAML mengalami crash saat menyertakan progressBar, ProgressRing, PipsPager, PersonPicture, atau kontrol Expander di halaman pertama aplikasi Anda. Untuk informasi selengkapnya, lihat masalah 7164 di GitHub.
  • Memperbaiki masalah yang menyebabkan penginstal x64 gagal menginstal runtime SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat masalah 2713 di GitHub.
  • Memperbaiki masalah yang menyebabkan WindowsAppRuntime gagal diinstal jika versi runtime yang lebih tinggi diinstal. Untuk informasi selengkapnya, lihat diskusi 2708 di GitHub.

Versi 1.1.2

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.1.

Perbaikan bug

  • Memperbaiki masalah saat XAML mengalami crash saat menutup jendela saat dialog terbuka. Untuk informasi selengkapnya lihat masalah 1032 di GitHub.
  • Menambahkan <auto-generated> tag dalam file C# untuk mencegah peringatan StyleCop. Untuk informasi selengkapnya lihat masalah 4526 di GitHub.
  • Memperbaiki masalah yang menyebabkan kesalahan pelanggaran akses dan crash saat memanggil MddBootstrapInitialize saat paket kerangka kerja yang cocok tidak diinstal. Untuk informasi selengkapnya, lihat masalah 2592 di GitHub.
  • Memperbaiki masalah saat templat item C# WinUI 3 hilang di Visual Studio. Untuk informasi selengkapnya lihat masalah 7148 di GitHub.
  • Memperbaiki masalah di mana penginstal WindowsAppRuntime gagal saat dijalankan sebagai pengguna Sistem. Untuk informasi selengkapnya, lihat masalah 2546 di GitHub.

Versi 1.1.1

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.1.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan aplikasi terkadang mengalami crash selama operasi seret dan lepas. Untuk informasi selengkapnya lihat masalah 7002 di GitHub.
  • Memperbaiki masalah yang menyebabkan bilah judul menghilang saat mengalihkan AppWindowPresenterKind dari Layar Penuh ke Default.
  • Memperbaiki masalah di mana API Bootstrapper seperti ApiInformation.IsPropertyPresent dan ApiInformation.IsMethodPresent akan menyebabkan pengecualian yang tidak tertangani dalam aplikasi yang tidak dikemas. Untuk informasi selengkapnya, lihat masalah 2382 di GitHub.
  • Memperbaiki masalah yang menyebabkan aplikasi membeku saat memaksimalkan aplikasi dengan input pena.

Versi 1.1

Bagian berikut menjelaskan fitur baru dan yang diperbarui, batasan, dan masalah yang diketahui untuk 1.1.

Catatan

Untuk pengembang C#, salah satu versi .NET SDK berikut (atau yang lebih baru) diperlukan: 6.0.202, 6.0.104, 5.0.407, 5.0.213. Untuk memperbarui versi .NET SDK Anda, kunjungi Unduhan .NET atau perbarui ke versi terbaru Visual Studio. Tanpa versi .NET SDK yang diperlukan, saat memperbarui paket NuGet Anda, Anda akan melihat kesalahan seperti: "Versi WindowsAppSDK ini memerlukan WinRT.Runtime.dll versi 1.6 atau yang lebih tinggi.".

Siklus Hidup Aplikasi & Mulai Ulang

Aplikasi sekarang dapat memulai hidupkan ulang eksplisit dengan argumen tertentu &state building off dari RegisterApplicationRestart API yang ada untuk mendaftar dengan OS untuk memulai ulang dalam skenario pembaruan, hang & reboot.

Fitur baru:

  • Setiap aplikasi desktop yang dikemas atau tidak dikemas dapat mengakhiri dan memulai ulang sendiri pada perintah, dan memiliki akses ke string baris perintah arbitrer untuk instans yang dimulai ulang menggunakan AppInstance.Restart() API.
    • Ini adalah versi yang diangkat dan sinkron dari API UWP RequestRestartAsync() yang memungkinkan memulai ulang dengan argumen dan mengembalikan AppRestartFailureReason jika hidupkan ulang tidak berhasil.
    • Lihat dokumen Restart API di GitHub untuk informasi penggunaan & referensi.

WinUI 3

WinUI 3 adalah kerangka kerja pengalaman pengguna asli (UX) untuk SDK Aplikasi Windows. Rilis ini mencakup fitur baru dari WinAppSDK 1.0 serta beberapa peningkatan stabilitas dari rilis pratinjau 1.0 & 1.1.

Fitur baru:

Memperbaiki bug:

  • Memperbaiki masalah saat menggunakan Mica di mana aplikasi akan mengalami crash saat jendela dibagi rata dengan dua layar. Lihat masalah 7079 di GitHub untuk informasi selengkapnya.
  • Memperbaiki masalah yang menyebabkan aplikasi C# dengan WebView2 mengalami crash saat diluncurkan saat C/C++ Runtime (CRT) tidak diinstal dengan meningkatkan WebView2 SDK dari 1020.46 ke 1185.39.
  • Memperbaiki masalah yang menyebabkan beberapa sudut bulat menunjukkan gradien ketika harus berwarna solid. Untuk informasi selengkapnya lihat masalah 6076 & masalah 6194 di GitHub.
  • Memperbaiki masalah saat gaya yang diperbarui hilang dari generic.xaml.
  • Memperbaiki masalah siklus tata letak yang menyebabkan aplikasi mengalami crash saat menggulir ke akhir ListView. Untuk informasi selengkapnya lihat masalah 6218 di GitHub.
  • Memperbaiki masalah di mana pengguna tidak dapat menghilangkan elemen saat seret dan letakkan diaktifkan. Untuk informasi selengkapnya lihat masalah 7008 di GitHub.

Batasan yang diketahui:

  • Saat menggunakan bilah judul kustom, kontrol keterangan tidak mengubah warna pada perubahan tema.
  • XAML mengalami crash saat pengguna menutup jendela saat dialog terbuka.

Penyebaran

Fitur baru:

  • Aplikasi paket sekarang dapat memaksa penyebaran paket runtime SDK Aplikasi Windows menggunakan API DeploymentManager.Initialize(DeploymentInitializeOptions) atau menggunakan opsi --force dengan penginstal Windows App Runtime.
  • Ada kategori ekstensi fungsional tambahan, UnlockedDEHs, tersedia untuk aplikasi paket. Lihat catatan rilis Pratinjau 1.1 3 untuk detail selengkapnya. Ini mengharuskan paket kerangka kerja SDK Aplikasi Windows diinstal. Lihat Unduhan untuk SDK Aplikasi Windows untuk menginstal runtime.
  • Penyebaran mandiri didukung. Lihat gambaran umum penyebaran SDK Aplikasi Windows untuk perbedaan antara penyebaran yang bergantung pada kerangka kerja dan mandiri, dan cara memulai.
  • API Bootstrapper yang diperlukan untuk aplikasi yang tidak disebarkan dengan MSIX menyertakan opsi baru untuk meningkatkan kegunaan dan pemecahan masalah. Silakan lihat dokumentasi kami untuk aplikasi C#, API Bootstrapper C# dan untuk aplikasi C++, mddbootstrapheader.h header. Untuk detail selengkapnya, lihat Menggunakan runtime SDK Aplikasi Windows untuk aplikasi yang dikemas dengan lokasi eksternal atau tidak dikemas.

Batasan yang diketahui:

  • Menjalankan penginstal Windows App Runtime (WindowsAppRuntimeInstall.exe) memerlukan sideloading untuk diaktifkan. Lihat masalah 2469 di GitHub untuk informasi selengkapnya.
  • Membuat paket MSIX melalui menu Visual Studio Project dapat merusak Visual Studio dalam beberapa skenario. Masalah ini akan diperbaiki di Visual Studio versi 17.3 Pratinjau 2 dan dilayankan ke 17.2. Jika Anda mengalami masalah ini, Anda dapat mengatasinya dengan membuat MSIX dari baris perintah, beralih ke proyek yang tidak dipaketkan, atau kembali ke SDK Aplikasi Windows 1.0.
  • Aplikasi mandiri yang dipaketkan dengan MSIX tidak didukung pada 1809 menyebabkan crash aplikasi saat diluncurkan.

Elevation

Aplikasi sekarang dapat berjalan dengan hak istimewa yang ditingkatkan.

Batasan yang diketahui:

Pengelola Variabel Lingkungan

Environment Variable Manager adalah API baru yang diperkenalkan di SDK Aplikasi Windows 1.1. Environment Variable Manager memungkinkan pengembang untuk mengakses, dan memodifikasi variabel lingkungan dalam proses, pengguna, dan cakupan mesin dari satu permukaan API.

Jika Environment Variable Manager digunakan dari aplikasi yang dipaketkan, semua operasi variabel lingkungan akan direkam. Ketika paket dihapus, semua operasi variabel lingkungan dikembalikan.

Fitur baru:

  • Dapatkan dan atur variabel lingkungan dalam proses, pengguna, dan cakupan komputer.
  • Variabel lingkungan otomatis kembali saat paket yang menggunakan pengelola variabel lingkungan dihapus.
  • Termasuk API tertentu untuk PATH dan PATHEXT.

Batasan yang diketahui:

  • Hanya tersedia di Windows 11

MRT Core

MRT Core adalah versi yang disederhanakan dari Sistem Manajemen Sumber Daya Windows modern yang didistribusikan sebagai bagian dari SDK Aplikasi Windows.

Masalah yang diperbaiki:

  • Masalah yang menyebabkan sumber daya tidak diindeks secara default ketika file sumber daya ditambahkan menggunakan UI VS diperbaiki di .NET SDK 6.0.300. Jika menggunakan versi .NET SDK yang lebih lama, silakan terus gunakan solusi yang didokumenkan dalam catatan rilis 1.0. Lihat masalah 1786 di GitHub untuk informasi tambahan.
  • Masalah yang menyebabkan URI sumber daya tidak dibangun dengan benar di aplikasi C++ WinUI 3 yang tidak dikemas telah diperbaiki di Visual Studio 2022 17.2. Jika menggunakan versi Visual Studio yang lebih lama, harap perbarui Visual Studio ke 17.2 untuk menerima perbaikan ini.

Batasan yang diketahui:

  • Dalam proyek .NET, file sumber daya yang disalin ke folder proyek tidak diindeks di F5 jika aplikasi sudah dibuat. Sebagai solusinya, bangun ulang aplikasi. Lihat masalah 1503 di GitHub untuk informasi selengkapnya.

Untuk informasi selengkapnya, lihat Mengelola sumber daya dengan MRT Core.

Notifications

Pengembang paket (termasuk dikemas dengan lokasi eksternal) dan aplikasi yang tidak dikemas sekarang dapat mengirim pemberitahuan Windows.

Fitur baru:

  • Dukungan untuk pemberitahuan aplikasi untuk aplikasi yang dikemas dan tidak dikemas.
    • Pengembang dapat mengirim pemberitahuan aplikasi, juga dikenal sebagai pemberitahuan toast, secara lokal atau dari layanan cloud mereka sendiri. Lihat Ringkasan pemberitahuan aplikasi.
  • Dukungan untuk pemberitahuan push untuk aplikasi yang dikemas dan tidak dikemas.
    • Pengembang dapat mengirim pemberitahuan mentah dan pemberitahuan aplikasi dari layanan cloud mereka sendiri. Lihat Gambaran umum pemberitahuan push.

Batasan yang diketahui:

  • Mengirim pemberitahuan dari aplikasi yang ditingkatkan tidak didukung. PushNotificationManager::IsSupported() tidak akan melakukan pemeriksaan untuk mode yang ditingkatkan.

Windowing

Untuk akses pemrograman yang lebih mudah ke fungsionalitas yang diterapkan dalam USER32.dll (lihat Windows dan pesan), rilis ini menampilkan lebih banyak fungsionalitas itu sendiri AppWindow .

Fitur baru:

  • Aplikasi dengan jendela yang ada memiliki kontrol lebih besar atas bagaimana jendela ditampilkan, dengan memanggil AppWindow.ShowOnceWithRequestedStartupState—setara dengan ShowWindow(SW_SHOWDEFAULT).
  • Aplikasi dapat menampilkan, meminimalkan, atau memulihkan jendela sambil menentukan apakah jendela harus diaktifkan atau tidak pada saat panggilan dilakukan.
  • Aplikasi sekarang dapat menentukan dimensi tertentu untuk ukuran area klien jendela mereka dalam koordinat Win32 tanpa perlu menghitung ukuran area non-klien untuk mendapatkan ukuran area klien tertentu.
  • API WinRT tambahan tersedia untuk mendukung manajemen z-order windows berdasarkan fungsionalitas hWndInsertAfter SetWindowPos.
  • Aplikasi yang menggambar bilah judul kustom dengan AppWindowTitleBar.ExtendsContentIntoTitleBar dapat mengatur PreferredTitleBarHeight opsi. Anda sekarang memiliki pilihan antara bilah judul tinggi standar, atau bilah judul tinggi yang menyediakan lebih banyak ruang untuk konten interaktif. Lihat Bilah judul di panduan Desain lancar untuk saran tentang kapan harus menggunakan bilah judul tinggi.

Masalah yang diperbaiki:

  • Ketika penyaji layar penuh dipanggil untuk pertama kalinya, jendela sekarang pas di seluruh layar dengan benar. Lihat masalah 1853 di GitHub untuk informasi selengkapnya.
  • Windows dibuat dengan AppWindow::GetFromWindowId memiliki sebagai penyaji OverlappedPresenter default tetapi tidak memiliki batasan dalam hal perubahan pada gaya jendela yang berasal dari API lain. Windows yang dibuat dengan AppWindow::Create akan memiliki pagar pembatas Penyaji default sejak awal. Lihat masalah 2049 di GitHub untuk informasi selengkapnya.
  • OverlappedPresenter.SetBorderAndTitlebar Menggunakan API untuk menyembunyikan tombol keterangan dan batas akan menghasilkan batas atas 1px saat dimaksimalkan. Ini telah diselesaikan. Lihat masalah 1693 di GitHub untuk informasi selengkapnya.

Batasan yang diketahui:

  • Saat menggunakan APPWindowTitlebar API untuk menyesuaikan warna bilah judul standar, ikon dan teks tidak selaras dibandingkan dengan bilah judul standar. Untuk informasi selengkapnya, lihat Masalah GitHub 2459.

  • Saat memecahkan masalah GitHub 2049 (terlihat di atas), kami memperkenalkan bug berikut: jika Anda menerapkan AppWindowPresenter apa pun ke AppWindow yang telah Anda ambil dari GetFromWindowId, lalu ubah gaya jendela yang sedang dilacak oleh Penyaji tersebut melalui panggilan API USER32, lalu coba kembali ke status jendela sebelumnya dengan menerapkan kembali Presenter default, hasilnya adalah jendela yang tidak memiliki bilah judul. Jika Anda mengandalkan Penyaji apa pun di aplikasi Anda, dan menggunakan panggilan ke USER32 untuk mengubah gaya jendela pada saat Penyaji non-default diterapkan, maka Anda mungkin perlu menambahkan solusi untuk memastikan perilaku jendela yang benar hingga bug ini dilayankan. Anda dapat menggunakan cuplikan kode berikut sebagai templat untuk cara mengatasi masalah ini:

    AppWindow m_appWindow;
    OverlappedPresenter m_defaultPresenter;
    
    private void EnterFullScreen_Click(object sender, RoutedEventArgs e)
    {
        // Capture the default presenter.
        m_defaultPresenter = m_appWindow.Presenter as OverlappedPresenter;
    
        // Opt in the default overlapped presenter so it can control various aspects of the AppWindow.
        m_defaultPresenter.IsAlwaysOnTop = m_defaultPresenter.IsAlwaysOnTop;
        m_defaultPresenter.IsResizable = m_defaultPresenter.IsResizable;
        m_defaultPresenter.IsMinimizable = m_defaultPresenter.IsMinimizable;
        m_defaultPresenter.IsMaximizable = m_defaultPresenter.IsMaximizable;
        m_defaultPresenter.SetBorderAndTitleBar(m_defaultPresenter.HasBorder, m_defaultPresenter.HasTitleBar);
    
        m_appWindow.SetPresenter(AppWindowPresenterKind.FullScreen);
    }
    
    private void ExitFullScreen_Click(object sender, RoutedEventArgs e)
    {
        m_appWindow.SetPresenter(AppWindowPresenterKind.Default);
    }
    

C#/WinRT

Komponen Runtime C# Windows, termasuk kontrol kustom WinUI, sekarang didukung. Ini memungkinkan penulis komponen mendistribusikan komponen runtime C#-authored ke bahasa yang kompatibel dengan WinRT (misalnya, C++/WinRT). Lihat Panduan—Buat komponen C# dengan kontrol WinUI 3, dan gunakan dari aplikasi C++/WinRT yang menggunakan SDK Aplikasi Windows dan sampel di GitHub untuk memulai.

Batasan lain dan masalah yang diketahui

  • Aplikasi yang mereferensikan paket yang bergantung pada WebView2 (seperti Microsoft.Identity.Client) gagal dibuat. Ini disebabkan oleh biner yang bertentangan pada waktu build. Lihat masalah 2492 di GitHub untuk informasi selengkapnya.
  • Menggunakan dotnet build dengan proyek pustaka kelas WinAppSDK C# mungkin melihat kesalahan build "Tugas Microsoft.Build.Packaging.Pri.Tasks.ExpandPriContent tidak dapat dimuat". Untuk mengatasi masalah ini, atur <EnableMsixTooling>true</EnableMsixTooling> dalam file proyek Anda.
  • Templat WinAppSDK default mencatat bahwa MaxVersionTested="10.0.19041.0" ketika seharusnya "10.0.22000.0". Untuk dukungan penuh dari beberapa fitur, terutama UnlockedDEHs, perbarui MaxVersionTested ke "10.0.22000.0" dalam file proyek Anda.

Versi 1.0

Rilis terbaru yang tersedia dari silsilah 1.0.x dari saluran stabil SDK Aplikasi Windows adalah versi 1.0.4. 1.0.x mendukung semua fitur saluran yang stabil (lihat bagian Fitur yang tersedia oleh saluran rilis di saluran rilis SDK Aplikasi Windows).

Versi 1.0.4

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.0.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan AppBars, saat digunakan sebagai Page.TopAppBar atau Page.BottomAppBar untuk tidak dirender di layar.
  • Memperbaiki masalah di mana aplikasi dengan nama paket 12 karakter atau kurang yang menggunakan kontrol WinUI dari MUXControls.dll akan segera mengalami crash. Untuk informasi selengkapnya, lihat masalah 6360 di GitHub.
  • Memperbaiki masalah input sentuh yang menyebabkan masalah dengan pintasan keyboard dan skenario lainnya. Untuk informasi selengkapnya, lihat masalah 6291 di GitHub.
  • Memperbaiki masalah yang menyebabkan aplikasi yang dibungkus dengan MSIX atau disebarkan sebagai mandiri gagal disebarkan.
  • Memperbaiki masalah yang menyebabkan aplikasi terkadang mengalami crash selama operasi seret dan lepas. Untuk informasi selengkapnya lihat masalah 7002 di GitHub.

Versi 1.0.3

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.0.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan aplikasi C# dengan WebView2 mengalami crash saat peluncuran saat C/C++ Runtime (CRT) tidak diinstal.
  • Memperbaiki masalah input sentuh yang menyebabkan masalah dengan pintasan keyboard dan skenario lainnya. Untuk informasi selengkapnya, lihat masalah 6291 di GitHub.

Catatan: Kami biasanya tidak menambahkan fungsionalitas dalam rilis layanan, tetapi perbaikan WebView2 rilis ini mengharuskan kami memperbarui ke versi terbaru WebView2 SDK (1020.46 hingga 1185.39). Lihat Catatan Rilis untuk WebView2 SDK untuk informasi tambahan tentang WebView2 1.0.1185.39 dan Mendistribusikan aplikasi Anda dan Runtime WebView2 untuk informasi tambahan tentang Runtime WebView2.

Versi 1.0.2

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 1.0.

Perbaikan bug

  • Memperbaiki masalah siklus tata letak yang menyebabkan aplikasi mengalami crash saat menggulir ke akhir ListView. Untuk informasi selengkapnya lihat masalah 6218 di GitHub.
  • Memperbaiki masalah yang menyebabkan aplikasi C# mengalami crash saat peluncuran saat C/C++ Runtime (CRT) tidak diinstal. Namun, CRT masih diperlukan untuk aplikasi C# menggunakan WebView2. Untuk informasi selengkapnya, lihat masalah 2117 di GitHub.
  • Memperbaiki masalah di mana aplikasi dengan MSIX proyek tunggal tidak menghasilkan file .appinstaller. Untuk informasi selengkapnya, lihat masalah 1821 di GitHub.
  • Memperbaiki masalah di mana aplikasi WinUI tidak mendukung .NET 6 dotnet build.

Versi 1.0.1

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting dan dukungan multi-jendela untuk rilis 1.0.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan MddBootstrapAutoinitializer tidak dikompilasi dengan ImplicitUsings yang diaktifkan. Untuk informasi selengkapnya, lihat masalah 1686 di GitHub.
  • Memperbaiki masalah di mana fokus di WebView2 akan hilang secara tak terduga menyebabkan masalah input dan pemilihan. Untuk informasi selengkapnya, lihat masalah 5615 & masalah 5570 di GitHub.
  • Memperbaiki masalah yang menyebabkan toolbar dalam aplikasi di Visual Studio tidak dapat diklik saat menggunakan bilah judul kustom di aplikasi WinUI 3.
  • Memperbaiki masalah yang menyebabkan Snap Layout tidak muncul saat menggunakan bilah judul kustom di aplikasi WinUI 3. Untuk informasi selengkapnya, lihat masalah 6333 & masalah 6246 di GitHub.
  • Memperbaiki masalah yang menyebabkan pengecualian saat mengatur properti Window.ExtendsContentIntoTitleBar saat Window.SetTitlebar telah dipanggil dengan UIElement yang masih memuat.
  • Memperbaiki masalah di mana aplikasi MSIX proyek tunggal tidak mendukung dotnet build.
  • Memperbaiki masalah yang menyebabkan aplikasi yang tidak dikemas tidak diinstal setelah menginstal aplikasi paket. Untuk informasi selengkapnya, lihat masalah 1871 di GitHub.
  • Memperbaiki masalah mengurangi performa selama operasi seret mouse.
  • Memperbaiki crash saat memanggil GetWindowIdFromWindow() di aplikasi yang tidak dikemas. Untuk informasi selengkapnya, lihat diskusi 1891 di GitHub.

Batasan dan masalah yang diketahui untuk versi 1.0 juga berlaku untuk versi 1.0.1.

Selain itu, untuk aplikasi dengan bilah judul kustom, kami telah membuat perubahan dalam rilis ini (dan memperbaiki banyak masalah) yang mencakup perbaikan pada jendela kaca yang digunakan untuk operasi seret&letakkan. Rekomendasinya adalah menggunakan nilai dan perilaku default (cobalah!). Jika bilah judul Anda menggunakan margin sehingga tombol keterangan default interaktif, sebaiknya visualisasikan wilayah seret Anda dengan mengatur latar belakang bilah judul Anda menjadi merah lalu menyesuaikan margin untuk memperluas wilayah seret ke kontrol keterangan.

Fitur baru

Kami telah menstabilkan dan mengaktifkan pembuatan beberapa jendela pada utas yang sama dalam aplikasi WinUI 3. Lihat masalah 5918 untuk informasi selengkapnya.

Versi 1.0

Bagian berikut menjelaskan fitur baru dan yang diperbarui, batasan, dan masalah yang diketahui untuk 1.0.

WinUI 3

WinUI 3 adalah kerangka kerja pengalaman pengguna asli (UX) untuk SDK Aplikasi Windows. Dalam rilis ini kami telah menambahkan beberapa fitur baru dari SDK Aplikasi Windows 0,8 dan masalah stabil dari rilis Pratinjau 1.0.

Fitur dan pembaruan baru:

  • Kami telah menambahkan kontrol baru (PipsPager, Expander, BreadcrumbBar) dan memperbarui kontrol yang ada untuk mencerminkan gaya Windows terbaru dari WinUI 2.6.
  • Kemasan MSIX proyek tunggal didukung di WinUI dengan membuat aplikasi baru menggunakan "Aplikasi Kosong, Dikemas..." templat.
  • Kami sekarang mendukung penyebaran aplikasi WinUI 3 yang tidak dibungkus pada Windows versi 1809 ke atas. Silakan lihat Membuat proyek WinUI 3 pertama Anda untuk informasi tambahan.
  • Proyek WinUI 3 sekarang dapat mengatur versi target mereka ke Windows 10, versi 1809. Sebelumnya, mereka hanya dapat diatur serendah versi 1903.
  • Toolbar dalam aplikasi, Hot Reload, & Live Visual Tree untuk aplikasi paket WinUI didukung di Visual Studio 2022 Pratinjau 5 dan GA.

Batasan penting:

  • Masalah umum untuk aplikasi WinUI yang dikemas dan tidak dikemas:

    • Kesalahan run-time di aplikasi C++ atau C# yang mereferensikan Komponen Runtime C++ Windows:
      • Untuk mengatasinya, tambahkan target di bawah ini ke akhir .vcxproj Komponen Windows Runtime:

        <Target Name="GetPriIndexName">
        <PropertyGroup>
            <!-- Winmd library targets use the default root namespace of the project for the App package name -->
            <PriIndexName Condition="'$(RootNamespace)' != ''">$(RootNamespace)</PriIndexName>
            <!-- If RootNamespace is empty fall back to TargetName -->
            <PriIndexName Condition="$(PriIndexName) == ''">$(TargetName)</PriIndexName>
        </PropertyGroup>
        </Target>
        
      • Kesalahan yang diharapkan akan mirip dengan kesalahan asal WinRT - 0x80004005 : 'Tidak dapat menemukan sumber daya dari 'ms-appx:///BlankPage.xaml'.'.

  • Masalah umum untuk aplikasi WinUI dengan MSIX proyek tunggal (Aplikasi Kosong, Templat paket):

    • Item menu Paket & Terbitkan hilang hingga Anda memulai ulang Visual Studio: Saat membuat aplikasi baru dengan MSIX proyek tunggal di Visual Studio 2019 dan Visual Studio 2022 menggunakan templat proyek Aplikasi Kosong, Dipaketkan (WinUI 3 di Desktop), perintah untuk menerbitkan proyek tidak muncul di menu hingga Anda menutup dan membuka kembali Visual Studio.
    • Aplikasi C# dengan MSIX proyek tunggal tidak akan dikompilasi tanpa komponen opsional "C++ (v14x) Platform Windows Universal Tools" yang diinstal. Lihat Menginstal alat untuk SDK Aplikasi Windows untuk informasi tambahan.
    • Potensi kesalahan run-time dalam aplikasi dengan MSIX proyek tunggal yang menggunakan jenis yang ditentukan dalam Komponen Runtime Windows yang dirujuk: Untuk mengatasinya, tambahkan entri kelas yang dapat diaktifkan secara manual ke appxmanifest.xml.
      • Kesalahan yang diharapkan dalam aplikasi C# adalah "COMException: Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
      • Kesalahan yang diharapkan dalam aplikasi C++/WinRT adalah "winrt::hresult_class_not_registered".
  • Masalah umum untuk aplikasi WinUI 3 yang tidak dikemas (aplikasi yang tidak dikemas):

  • Masalah umum untuk pengemasan dan penyebaran aplikasi WinUI:

    • Perintah Package tidak didukung di aplikasi WinUI dengan MSIX proyek tunggal (Aplikasi Kosong, Templat paket). Sebagai gantinya Package & Publish , gunakan perintah untuk membuat paket MSIX.
    • Untuk membuat paket NuGet dari Pustaka Kelas C# dengan Pack perintah , pastikan yang aktif Configuration adalah Release.
    • Perintah Pack tidak didukung di C++ Windows Runtime Components untuk membuat paket NuGet.

Untuk informasi selengkapnya, atau untuk mulai mengembangkan dengan WinUI, lihat:

Windowing

SDK Aplikasi Windows menyediakan kelas AppWindow yang mengembangkan kelas pratinjau Windows.UI.WindowManagement.AppWindow sebelumnya yang mudah digunakan dan membuatnya tersedia untuk semua aplikasi Windows, termasuk Win32, WPF, dan WinForms.

Fitur baru

  • AppWindow adalah API windowing tingkat tinggi yang memungkinkan skenario windowing yang mudah digunakan yang terintegrasi dengan baik dengan pengalaman pengguna Windows dan dengan aplikasi lain. Mewakili abstraksi tingkat tinggi dari kontainer yang dikelola sistem dari konten aplikasi. Ini adalah kontainer tempat konten Anda dihosting, dan mewakili entitas yang berinteraksi dengan pengguna saat mereka mengubah ukuran dan memindahkan aplikasi Anda di layar. Bagi pengembang yang terbiasa dengan Win32, AppWindow dapat dilihat sebagai abstraksi tingkat tinggi HWND.
  • DisplayArea mewakili abstraksi tingkat tinggi HMONITOR, mengikuti prinsip yang sama dengan AppWindow.
  • DisplayAreaWatcher memungkinkan pengembang untuk mengamati perubahan dalam topologi tampilan dan menghitung DisplayAreas yang saat ini ditentukan dalam sistem.

Untuk informasi selengkapnya, lihat Mengelola jendela aplikasi.

Input

Ini adalah API input yang mendukung WinUI dan menyediakan permukaan API tingkat bawah bagi pengembang untuk mencapai interaksi input yang lebih canggih.

Fitur baru

  • API Pointer: PointerPoint, PointerPointProperties, dan PointerEventArgs untuk mendukung pengambilan informasi peristiwa pointer dengan API input XAML.
  • INPUTPointerSource API: Mewakili objek yang terdaftar untuk melaporkan input pointer, dan menyediakan kursor penunjuk dan penanganan peristiwa input untuk API SwapChainPanel XAML.
  • API Kursor: Memungkinkan pengembang mengubah bitmap kursor.
  • GestureRecognizer API: Memungkinkan pengembang mengenali gerakan tertentu seperti seret, tahan, dan klik saat diberi informasi pointer.

Batasan penting

  • Semua fungsi pabrik statis PointerPoint telah dihapus: GetCurrentPoint, GetCurrentPointTransformed, GetIntermediatePoints, dan GetIntermediatePointsTransformed.
  • SDK Aplikasi Windows tidak mendukung pengambilan objek PointerPoint dengan ID pointer. Sebagai gantinya, Anda dapat menggunakan fungsi anggota PointerPoint GetTransformedPoint untuk mengambil versi objek PointerPoint yang sudah diubah. Untuk titik perantara, Anda dapat menggunakan fungsi anggota PointerEventArgs GetIntermediatePoints dan GetTransformedIntermediatePoints.
  • Penggunaan langsung platform SDK API Windows.UI.Core.CoreDragOperation tidak akan berfungsi dengan aplikasi WinUI.
  • Properti PointerPoint RawPosition dan ContactRectRaw dihapus karena mengacu pada nilai yang tidak diprediksi, yang sama dengan nilai normal dalam OS. Gunakan Posisi dan ContactRect sebagai gantinya. Prediksi pointer sekarang ditangani dengan objek API Microsoft.UI.Input.PointerPredictor .

Siklus Hidup Aplikasi

Sebagian besar fitur Siklus Hidup Aplikasi sudah ada di platform UWP, dan telah dibawa ke SDK Aplikasi Windows untuk digunakan oleh jenis aplikasi desktop, terutama aplikasi Konsol yang tidak dikemas, aplikasi Win32, aplikasi Formulir Windows, dan aplikasi WPF. Implementasi SDK Aplikasi Windows fitur ini tidak dapat digunakan dalam aplikasi UWP, karena ada fitur yang setara di platform UWP itu sendiri.

Penting

Jika Anda sedang mengerjakan aplikasi UWP, lihat Migrasi dari UWP ke SDK Aplikasi Windows.

Aplikasi non-UWP juga dapat dimasukan ke dalam paket MSIX. Meskipun aplikasi ini dapat menggunakan beberapa fitur Siklus Hidup Aplikasi SDK Aplikasi Windows, aplikasi tersebut harus menggunakan pendekatan manifes di mana ini tersedia. Misalnya, mereka tidak dapat menggunakan API RegisterForXXXActivation SDK Aplikasi Windows dan sebaliknya harus mendaftar untuk aktivasi kaya melalui manifes.

Semua batasan untuk aplikasi paket juga berlaku untuk aplikasi WinUI, yang dikemas, dan ada pertimbangan tambahan seperti yang dijelaskan di bawah ini.

Pertimbangan penting:

  • Aktivasi kaya: GetActivatedEventArgs

  • Daftar/Batalkan pendaftaran untuk aktivasi kaya

    • Aplikasi yang tidak dikemas: Sepenuhnya dapat digunakan.
    • Aplikasi paket: Tidak dapat digunakan menggunakan manifes MSIX aplikasi sebagai gantinya.
    • Untuk informasi selengkapnya, lihat Aktivasi kaya.
  • Single/Multi-instancing

    • Aplikasi yang tidak dikemas: Sepenuhnya dapat digunakan.
    • Aplikasi paket: Sepenuhnya dapat digunakan.
    • Aplikasi WinUI: Jika aplikasi ingin mendeteksi instans lain dan mengalihkan aktivasi, aplikasi harus melakukannya sedini mungkin, dan sebelum menginisialisasi jendela apa pun, dll. Untuk mengaktifkan ini, aplikasi harus menentukan DISABLE_XAML_GENERATED_MAIN, dan menulis Main kustom (C#) atau WinMain (C++) di mana aplikasi dapat melakukan deteksi dan pengalihan.
    • RedirectActivationToAsync adalah panggilan asinkron , dan Anda tidak boleh menunggu panggilan asinkron jika aplikasi Anda berjalan di STA. Untuk aplikasi Formulir Windows dan C# WinUI, Anda dapat menyatakan Main menjadi asinkron, jika perlu. Untuk aplikasi C++ WinUI dan C# WPF, Anda tidak dapat menyatakan Main menjadi asinkron, jadi sebagai gantinya Anda perlu memindahkan panggilan pengalihan ke utas lain untuk memastikan Anda tidak memblokir STA.
    • Untuk informasi selengkapnya, lihat Instancing aplikasi.
  • Pemberitahuan Power/State

    • Aplikasi yang tidak dikemas: Sepenuhnya dapat digunakan.
    • Aplikasi paket: Sepenuhnya dapat digunakan.
    • Untuk informasi selengkapnya, lihat Manajemen daya.

Masalah yang diketahui:

  • Asosiasi Tipe File salah mengodekan %1 menjadi %251 saat mengatur templat baris perintah handler Kata Kerja, yang lumpuh membongkar aplikasi Win32. Anda dapat mengedit nilai Registri secara manual menjadi %1 sebagai solusi parsial. Jika jalur file target memiliki ruang di dalamnya, jalur tersebut masih akan gagal dan tidak ada solusi untuk skenario tersebut.
  • Bug Tunggal/Multi-instancing ini akan diperbaiki dalam patch layanan yang akan datang:
    • Pengalihan AppInstance tidak berfungsi saat dikompilasi untuk x86
    • Mendaftarkan kunci, membatalkan pendaftaran, dan mendaftarkan ulang itu menyebabkan aplikasi mengalami crash

DWriteCore

DWriteCore adalah implementasi SDK Aplikasi Windows DirectWrite, yang merupakan API DirectX untuk penyajian teks berkualitas tinggi, font kerangka independen resolusi, dan dukungan teks dan tata letak Unicode lengkap. DWriteCore adalah bentuk DirectWrite yang berjalan pada versi Windows ke Windows 10, versi 1809 (10.0; Bangun 17763), dan membuka pintu bagi Anda untuk menggunakannya lintas platform.

Fitur DWriteCore berisi semua fitur DirectWrite, dengan beberapa pengecualian.

Batasan penting

  • DWriteCore tidak berisi fitur DirectWrite berikut:
    • Font per sesi
    • Font karakter yang ditentukan pengguna akhir (EUDC)
    • API streaming font
  • Dukungan API rendering tingkat rendah bersifat parsial.
  • DWriteCore tidak beroperasi dengan Direct2D, tetapi Anda dapat menggunakan IDWriteGlyphRunAnalysis dan IDWriteBitmapRenderTarget.

Untuk informasi selengkapnya, lihat Gambaran umum DWriteCore.

MRT Core

MRT Core adalah versi yang disederhanakan dari Sistem Manajemen Sumber Daya Windows modern yang didistribusikan sebagai bagian dari SDK Aplikasi Windows.

Batasan penting

  • Dalam proyek .NET, file sumber daya yang disalin ke folder proyek tidak diindeks di F5 jika aplikasi sudah dibuat. Sebagai solusinya, bangun ulang aplikasi. Lihat masalah 1503 untuk informasi selengkapnya.
  • Dalam proyek .NET, ketika file sumber daya ditambahkan ke proyek menggunakan UI Visual Studio, file mungkin tidak diindeks secara default. Lihat masalah 1786 untuk informasi selengkapnya. Untuk mengatasi masalah ini, hapus entri di bawah ini dalam file CSPROJ:
    <ItemGroup>
        <Content Remove="<image file name>" />
    </ItemGroup>
    <ItemGroup>
        <PRIResource Remove="<resw file name>" />
    </ItemGroup>
    
  • Untuk aplikasi C++ WinUI yang tidak dikemas, URI sumber daya tidak dibuat dengan benar. Untuk mengatasi masalah ini, tambahkan hal berikut di vcxproj:
    <!-- Add the following after <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> -->
    
    <PropertyGroup>
        <AppxPriInitialPath></AppxPriInitialPath>   
    </PropertyGroup>
    

Untuk informasi selengkapnya, lihat Mengelola sumber daya dengan MRT Core.

Penyebaran

Fitur dan pembaruan baru

  • Anda dapat menginisialisasi SDK Aplikasi Windows secara otomatis melalui WindowsPackageType project properti untuk memuat runtime SDK Aplikasi Windows dan memanggil API SDK Aplikasi Windows. Lihat Membuat proyek WinUI 3 pertama Anda untuk instruksi.
  • Aplikasi yang tidak dipaketkan dapat menyebarkan SDK Aplikasi Windows dengan mengintegrasikan alat penginstal SDK Aplikasi Windows .exe mandiri ke MSI atau program penyiapan yang ada. Untuk informasi selengkapnya, lihat panduan penyebaran SDK Aplikasi Windows untuk aplikasi yang bergantung pada kerangka kerja yang dikemas dengan lokasi eksternal atau tidak dikemas.
  • Aplikasi .NET yang tidak dipaketkan juga dapat menggunakan pembungkus .NET untuk API bootstrapper untuk secara dinamis mengambil dependensi pada paket kerangka kerja SDK Aplikasi Windows pada waktu proses. Untuk informasi selengkapnya tentang pembungkus .NET, lihat pustaka pembungkus .NET.
  • Aplikasi paket dapat menggunakan API penyebaran untuk memverifikasi dan memastikan bahwa semua paket yang diperlukan diinstal pada komputer. Untuk informasi selengkapnya tentang cara kerja API penyebaran, lihat panduan penyebaran SDK Aplikasi Windows untuk aplikasi paket yang bergantung pada kerangka kerja.

Batasan penting

  • Pembungkus .NET untuk API bootstrapper hanya ditujukan untuk digunakan oleh aplikasi .NET yang tidak dikemas untuk menyederhanakan akses ke SDK Aplikasi Windows.
  • Hanya aplikasi paket MSIX yang memiliki kepercayaan penuh atau memiliki kemampuan dibatasi packageManagement yang memiliki izin untuk menggunakan API penyebaran untuk menginstal dependensi paket utama dan singleton. Dukungan untuk aplikasi paket kepercayaan parsial akan datang dalam rilis selanjutnya.
  • Saat F5 menguji aplikasi x86 yang menggunakan metode DeploymentManager.Initialize pada sistem x64, pastikan bahwa kerangka kerja x64 pertama kali diinstal dengan menjalankan WindowsAppRuntimeInstall.exe. Jika tidak, Anda akan mengalami kesalahan NOT_FOUND karena Visual Studio tidak menyebarkan kerangka kerja x64, yang biasanya terjadi melalui penyebaran Store atau sideloading.

Batasan lain dan masalah yang diketahui

  • Tidak ada dukungan untuk konfigurasi build CPU apa pun: Saat menambahkan SDK Aplikasi Windows ke aplikasi atau komponen .NET yang ada yang mendukung CPU Apa pun, Anda harus menentukan arsitektur yang diinginkan: x86, atau x64arm64.

  • Meningkatkan dari .NET 5 ke .NET 6: Saat meningkatkan di UI Visual Studio, Anda mungkin mengalami kesalahan build. Sebagai solusinya, perbarui file TargetFrameworkPackage proyek Anda secara manual ke yang di bawah ini:

        <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework> 
    
  • Aplikasi MSIX proyek tunggal C# tidak dikompilasi jika Alat UWP C++ tidak diinstal. Jika Anda memiliki proyek MSIX proyek tunggal C#, maka Anda harus menginstal komponen opsional C++ (v14x) Platform Windows Universal Tools.

  • VSIX bahasa berikutnya gagal diinstal ke Visual Studio 2019 saat beberapa versi Visual Studio 2019 diinstal. Jika Anda memiliki beberapa versi Visual Studio 2019 yang terinstal (misalnya Rilis dan Pratinjau) lalu instal VSIX SDK Aplikasi Windows untuk C++ dan C#, penginstalan kedua akan gagal. Untuk mengatasinya, hapus instalan MSIX Packaging Tools proyek tunggal untuk Visual Studio 2019 setelah VSIX bahasa pertama. Lihat umpan balik ini untuk informasi tambahan tentang masalah ini.

  • Alternatif untuk DispatcherQueue.TryEnqueue (untuk membalas eksekusi pada utas antrean dispatcher) adalah menggunakan fungsi pembantu resume_foreground di Windows Implementation Library (WIL):

    1. Tambahkan referensi ke proyek Anda ke paket NuGet Microsoft.Windows.ImplementationLibrary .
    2. Tambahkan #include <wil/cppwinrt_helpers.h> ke pch.h.
    3. Tambahkan #include <winrt/Microsoft.UI.Dispatching.h> ke pch.h.
    4. Sekarang co_await wil::resume_foreground(your_dispatcherqueue);.

Versi 0.8

Rilis terbaru yang tersedia dari silsilah 0.8.x dari saluran stabil SDK Aplikasi Windows adalah versi 0.8.12.

Catatan

SDK Aplikasi Windows sebelumnya dikenal dengan nama kode Project Reunion. Beberapa aset SDK di versi 0.8 dan yang lebih lama masih menggunakan nama kode. Beberapa area dokumentasi masih menggunakan Project Reunion saat merujuk ke aset yang ada atau rilis sebelumnya yang ditentukan.

Versi 0.8.12

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 0.8.0.

Catatan

Untuk pengembang C#, salah satu versi .NET SDK berikut diperlukan: 5.0.213, 5.0.407, 6.0.104, 6.0.202 (atau yang lebih baru). Untuk memperbarui versi .NET SDK Anda, kunjungi Unduhan .NET atau perbarui ke versi terbaru Visual Studio. Tanpa versi .NET SDK yang diperlukan, saat memperbarui paket NuGet Anda, Anda akan melihat kesalahan seperti: "Versi WindowsAppSDK ini memerlukan WinRT.Runtime.dll versi 1.6 atau yang lebih tinggi.".

Perbaikan bug:

  • Memperbaiki masalah saat aplikasi dengan SwapChainPanel atau WebView2 tidak dapat diprediksi mengalami crash karena pelanggaran akses.

Versi 0.8.11

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 0.8.0.

Catatan

Untuk pengembang C#, salah satu versi .NET SDK berikut diperlukan: 5.0.213, 5.0.407, 6.0.104, 6.0.202 (atau yang lebih baru). Untuk memperbarui versi .NET SDK Anda, kunjungi Unduhan .NET atau perbarui ke versi terbaru Visual Studio. Tanpa versi .NET SDK yang diperlukan, saat memperbarui paket NuGet Anda, Anda akan melihat kesalahan seperti: "Versi WindowsAppSDK ini memerlukan WinRT.Runtime.dll versi 1.6 atau yang lebih tinggi.".

Perbaikan bug:

  • Memperbaiki regresi yang menyebabkan peristiwa fokus hilang diaktifkan saat memilih teks menggunakan mouse.

Versi 0.8.10

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 0.8.0.

Catatan

Untuk pengembang C#, salah satu versi .NET SDK berikut diperlukan: 5.0.213, 5.0.407, 6.0.104, 6.0.202 (atau yang lebih baru). Untuk memperbarui versi .NET SDK Anda, kunjungi Unduhan .NET atau perbarui ke versi terbaru Visual Studio. Tanpa versi .NET SDK yang diperlukan, saat memperbarui paket NuGet Anda, Anda akan melihat kesalahan seperti: "Versi WindowsAppSDK ini memerlukan WinRT.Runtime.dll versi 1.6 atau yang lebih tinggi.".

Perbaikan bug:

  • Memperbaiki masalah yang menyebabkan aplikasi terkadang mengalami crash selama operasi seret dan lepas.

Catatan

SDK Aplikasi Windows 0.8.9 tidak dirilis. Versi yang dirilis langsung setelah 0.8.8 adalah 0.8.10.

Versi 0.8.8

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug penting untuk rilis 0.8.0.

Catatan

Untuk pengembang C#, salah satu versi .NET SDK berikut (atau yang lebih baru) diperlukan: 6.0.202, 6.0.104, 5.0.407, 5.0.213. Untuk memperbarui versi .NET SDK Anda, kunjungi Unduhan .NET atau perbarui ke versi terbaru Visual Studio. Tanpa versi .NET SDK yang diperlukan, saat memperbarui paket NuGet Anda, Anda akan melihat kesalahan seperti: "Versi WindowsAppSDK ini memerlukan WinRT.Runtime.dll versi 1.6 atau yang lebih tinggi.".

Perbaikan bug:

  • Memperbaiki masalah input sentuhan di TextBox mengenai keyboard lunak dan interaksi umum. Masalah ini juga memengaruhi pintasan keyboard. Untuk informasi selengkapnya, lihat masalah 6291 di GitHub.
  • Memperbaiki masalah di mana jendela aplikasi terkadang akan ditampilkan sebagai tidak aktif saat aktif.
  • Memperbaiki masalah performa yang disebabkan oleh UIA (UI Automation) yang berjalan dalam proses eksternal.
  • Memperbaiki masalah stabilitas aplikasi dengan input pena.
  • Memperbaiki masalah di mana render ikon png di Menu tertunda secara dramatis karena UIA.

Versi 0.8.7

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup beberapa pembaruan performa untuk aplikasi C#/.NET. Untuk memperbarui ke versi ini, Anda harus mereferensikan versi paket Windows SDK terbaru. Untuk melakukannya, tambahkan properti <WindowsSdkPackageVersion>10.0.<sdk_version>.24</WindowsSdkPackageVersion> ke file Anda .csproj dengan versi SDK yang ditargetkan aplikasi Anda dari TargetFramework properti . Contohnya:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.19041.24</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Versi proyeksi Windows SDK ini akan tersedia dalam rilis layanan .NET 6 mendatang. Setelah pembaruan .NET SDK tersedia, Anda harus menghapus <WindowsSdkPackageVersion> properti dari file proyek Anda.

Jika Anda tidak mengatur properti ini, maka Anda akan melihat kesalahan seperti: "Error: This version of Project Reunion requires WinRT.Runtime.dll version 1.6 or greater."

Versi 0.8.6

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup beberapa peningkatan performa untuk aplikasi C#/.NET untuk rilis 0.8.0.

Untuk memperbarui ke versi SDK Aplikasi Windows ini, Anda harus menginstal pembaruan .NET SDK Desember terbaru (lihat Unduh .NET dan .NET 5 akan mencapai Akhir Dukungan pada 10 Mei 2022). Jika Anda tidak memiliki versi minimum yang diperlukan dari .NET SDK yang terinstal, maka Anda akan melihat kesalahan seperti "Error: This version of Project Reunion requires WinRT.Runtime.dll version 1.4 or greater."

Perbaikan Bug

Untuk daftar terperinci peningkatan performa, lihat catatan rilis C#/WinRT 1.4.1.

Versi 0.8.5

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug yang lebih penting untuk rilis 0.8.0.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan aplikasi WinUI menggunakan input pointer mengalami crash.
  • Memperbaiki masalah yang menyebabkan tombol bilah judul (min, maks, tutup) tidak memiliki sudut bulat pada Windows 11.
  • Memperbaiki masalah yang menyebabkan opsi tata letak penguatan ukuran tidak muncul saat mengarahkan mouse ke tombol maksimalkan/pulihkan pada Windows 11.
  • Memperbaiki masalah yang menyebabkan pengecualian crash di mana membuat objek PointCollection . Untuk informasi selengkapnya, lihat masalah 971 di Github.

Batasan dan masalah yang diketahui untuk versi 0.8 juga berlaku untuk versi 0.8.5, kecuali ditandai sebaliknya di bagian di bawah ini.

Versi 0.8.4

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug yang lebih penting untuk rilis 0.8.0.

Perbaikan bug

  • Perbaikan untuk bilah judul kustom sehingga ContentDialog tidak menutupinya, dan tombol bilah judul dibulatkan.
  • Perbaiki untuk crash dalam pemrosesan gambar saat skala tampilan diubah.
  • Memperbaiki bug kliping di mana UI hilang atau diklip dengan tidak benar

Batasan dan masalah yang diketahui untuk versi 0.8 juga berlaku untuk versi 0.8.4, kecuali ditandai sebaliknya di bagian di bawah ini.

Versi 0.8.3

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug yang lebih penting untuk rilis 0.8.0.

Perbaikan bug

Fokus keyboard hilang ketika jendela diminimalkan lalu dipulihkan, membutuhkan klik mouse untuk memulihkan fokus.

Batasan dan masalah yang diketahui untuk versi 0.8 juga berlaku untuk versi 0.8.3, kecuali ditandai sebaliknya di bagian di bawah ini.

Versi 0.8.2

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup perbaikan bug yang lebih penting untuk rilis 0.8.0.

Perbaikan bug

  • SDK Aplikasi Windows dan WinUI 3 sekarang didukung di Visual Studio 2022 Pratinjau 2 dan yang lebih baru.
  • Untuk aplikasi .NET, Anda mungkin menerima kesalahan berikut saat meneruskan dalam array enum: Object contains non-primitive or non-blittable data.
  • Menulis menggunakan Panel Tulisan Tangan di dalam kotak teks menyebabkan crash
  • Ikon/gambar selalu dimuat pada nilai skala 100% mereka daripada berdasarkan nilai skala monitor
  • Pengumpulan sampah EventSource<T> menyebabkan kegagalan berikutnya untuk berhenti berlangganan handler (lihat masalah GitHub untuk detail selengkapnya)
  • Perbaikan keamanan - lihat CVE-2021-34533 untuk detail selengkapnya.
  • SwapChainPanel.CompositionScaleChanged terkadang mengembalikan nilai KomposisiScale yang salah setelah mengubah skala tampilan

Batasan dan masalah yang diketahui untuk versi 0.8 juga berlaku untuk versi 0.8.2, kecuali ditandai sebaliknya di bagian di bawah ini.

Versi 0.8.1

Ini adalah rilis layanan dari SDK Aplikasi Windows yang mencakup beberapa perbaikan bug penting untuk rilis 0.8.0.

Perbaikan bug

  • SDK Aplikasi Windows tidak dapat berjalan pada build Windows Insider terbaru
  • Crash di EditableComboBox saat memasukkan nilai yang tidak muncul di dropdown
  • WebView2 tidak mengizinkan pengguna untuk melakukan tab keluar setelah fokus diterima
  • Sepenuhnya memenuhi syarat Windows.Foundation.Metadata.DefaultOverload namespace dalam kode yang dihasilkan WinUI untuk menghindari ambiguitas namespace
    • Ini memperbaiki bug #5108.
  • Perbaikan keamanan - lihat CVE-2021-34489 untuk detail selengkapnya.

Batasan dan masalah yang diketahui untuk versi 0.8 juga berlaku untuk versi 0.8.1, kecuali ditandai sebaliknya di bagian di bawah ini.

Versi 0.8.0 Stabil

Fitur dan pembaruan baru

Rilis ini mendukung semua fitur saluran yang stabil.

WinUI 3

Rilis ini mencakup banyak perbaikan bug dan peningkatan stabilisasi di seluruh WinUI 3. Ini semua adalah perubahan baru di WinUI 3 sejak rilis WinUI 3 - Project Reunion 0.5:

  • Kontrol Pivot telah ditambahkan kembali dan sekarang dapat digunakan di aplikasi WinUI 3 apa pun.

  • Semua perbaikan bug dari Project Reunion v0.5.5, v0.5.6, dan v0.5.7 disertakan dengan rilis ini.

  • Perbaikan bug baru, termasuk:

    • Klik kanan mouse di TextBox merusak aplikasi
    • NavigationView menyebabkan crash di UWP, Pratinjau Reunion 0.5
    • Bilah Kemajuan tidak menampilkan perbedaan antara opsi Dijeda dan Kesalahan
    • Crash di RichEditBox saat menyalin/menempelkan/mengubah gaya teks
    • Tombol keterangan jendela salah tempat saat SetTitleBar tidak diatur atau null

    Untuk daftar lengkap bug yang dibahas dalam rilis ini, lihat repositori GitHub kami.

  • ColorHelper.ToDisplayName API tidak lagi tersedia.

  • Jenis berikut telah dihapus:

    • Microsoft.Graphics.IGeometrySource2D
    • Microsoft.Graphics.IGeometrySource2DInterop

    Gunakan Windows.Graphics.IGeometrySource2D dan Windows.Graphics.IGeometrySource2DInterop sebagai gantinya.

  • Semua jenis di Microsoft.System namespace telah dipindahkan ke Microsoft.UI.Dispatching namespace layanan, termasuk kelas DispatcherQueue.

  • Properti AcrylicBrush.BackgroundSource telah dihapus, karena HostBackdrop tidak didukung sebagai BackgroundSource di WinUI 3.

Untuk informasi selengkapnya tentang WinUI, lihat Pustaka Windows UI 3 (WinUI).

Untuk melihat kontrol dan fitur WinUI 3 yang sedang beraksi, Anda dapat mengkloning dan membangun aplikasi Galeri WinUI 3 dari GitHub, atau mengunduh aplikasi dari Microsoft Store.

Untuk mulai mengembangkan dengan WinUI, lihat artikel berikut:

DWriteCore

Rilis DWriteCore ini mencakup fitur baru dan yang diperbarui berikut. DWriteCore diperkenalkan dan dijelaskan dalam gambaran umum DWriteCore.

Catatan

DWriteCoreCreateFactory secara fungsional sama dengan fungsi DWriteCreateFactory yang diekspor oleh versi sistem DirectWrite. Fungsi DWriteCore memiliki nama yang berbeda untuk menghindari ambiguitas jika Anda menautkan dan DWriteCore.libDWrite.lib.

Untuk referensi API DWriteCore dan DirectWrite, lihat Referensi API DWriteCore dan Referensi API DirectWrite.

MRTCore

  • Tindakan Build untuk sumber daya secara otomatis diatur saat Anda menambahkan sumber daya ke proyek Anda, mengurangi kebutuhan akan konfigurasi proyek manual.

Batasan

  • Rilis ini saat ini tidak didukung pada Saluran Dev program Windows Insider. Ini diperbaiki dalam versi 0.8.1.

  • Aplikasi desktop (desktop C# atau C++): Rilis ini didukung untuk digunakan hanya di aplikasi desktop (C++ atau C#) yang dibungkus menggunakan MSIX. Untuk menggunakan SDK Aplikasi Windows di aplikasi desktop yang tidak dikemas, Anda harus menggunakan saluran rilis eksperimental.

Penting

Jika Anda sedang mengerjakan aplikasi UWP, lihat Migrasi dari UWP ke SDK Aplikasi Windows.

Masalah umum

  • Alat WinUI 3 seperti Live Visual Tree, Live Property Explorer, dan Hot Reload di versi 0.8 dan yang lebih baru memerlukan Visual Studio 2019 16.11 Pratinjau 3 dan yang lebih baru.

  • Aplikasi yang saat ini menggunakan WinUI 3 dan SDK Aplikasi Windows 0.8 tidak dapat menggunakan pustaka kelas yang menggunakan Project Reunion 0.5. Perbarui pustaka kelas untuk menggunakan SDK Aplikasi Windows 0,8.

  • Aplikasi .NET harus menargetkan build 18362 atau yang lebih baru: TFM Anda harus diatur ke net6.0-windows10.0.18362 atau yang lebih baru, dan proyek kemasan Anda harus diatur ke 18362 atau yang lebih baru. Untuk informasi selengkapnya, lihat Masalah GitHub #921.

  • Anda mungkin mengalami crash saat sering beralih antara mode terang dan gelap.

  • Untuk aplikasi .NET, Anda mungkin menerima kesalahan berikut saat meneruskan array enum: Object contains non-primitive or non-blittable data.Ini diperbaiki dalam versi 0.8.2.

  • Untuk aplikasi .NET, saat ini tidak ada cara untuk memilih keluar dari gambar yang diindeks sebagai sumber daya aplikasi menggunakan UI Visual Studio. Untuk mengatasi hal ini, tambahkan Directory.Build.targets (lihat Mengkustomisasi build Anda - Visual Studio untuk instruksi) ke proyek dan hapus gambar sebagai berikut:

    • Untuk menghapus gambar tertentu (perhatikan bahwa jalur relatif diperlukan):

      <Project> 
      <ItemGroup> 
          <Content Remove="..\Bitmap1.bmp" />
      </ItemGroup>
      </Project>
      
    • Untuk menghapus gambar berdasarkan metadata:

      <Project>
      <ItemGroup>
          <Content Remove="@(None->WithMetadataValue('Pack','true'))" />
      </ItemGroup>
      </Project>
      

    Perbaikan untuk masalah ini direncanakan untuk rilis mendatang - pada saat itu, solusi di atas tidak akan lagi diperlukan.

Versi 0.5

Rilis terbaru yang tersedia dari silsilah 0.5.x dari saluran stabil SDK Aplikasi Windows adalah versi 0.5.9.

Fitur dan pembaruan baru

Rilis ini mendukung semua fitur saluran yang stabil.

Masalah dan batasan yang diketahui

Rilis ini memiliki batasan berikut dan masalah yang diketahui:

  • Aplikasi desktop (desktop C# atau C++): Rilis ini didukung untuk digunakan hanya di aplikasi desktop (C++ atau C#) yang dibungkus menggunakan MSIX. Untuk menggunakan SDK Aplikasi Windows di aplikasi desktop yang tidak dikemas, Anda harus menggunakan saluran rilis eksperimental.
  • Aplikasi .NET harus menargetkan build 18362 atau yang lebih baru: TFM Anda harus diatur ke net6.0-windows10.0.18362 atau yang lebih baru, dan proyek <TargetPlatformVersion> kemasan Anda harus diatur ke 18362 atau yang lebih baru. Untuk informasi selengkapnya, lihat masalah yang diketahui di GitHub.

Penting

Jika Anda sedang mengerjakan aplikasi UWP, lihat Migrasi dari UWP ke SDK Aplikasi Windows.