Bagikan melalui


Catatan rilis saluran yang stabil untuk SDK Aplikasi Windows 1.2

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.

Tautan penting:

Rilis saluran stabil terbaru:

Unduhan untuk SDK Aplikasi Windows

Catatan

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

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.

fitur baru dan yang diperbarui serta masalah yang diketahui untuk versi 1.2

Bagian berikut menjelaskan fitur baru dan yang diperbarui serta 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 menerobos:

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.

Masalah yang Diperbaiki:

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.