Note sulla versione del canale stabile per Windows App SDK 1.2

Il canale stabile fornisce versioni di Windows App SDK supportati per l'uso da parte delle app negli ambienti di produzione. Le app che usano la versione stabile del Windows app SDK possono anche essere pubblicate in Microsoft Store.

Collegamenti importanti:

Ultime note sulla versione del canale Stabile

Vedere Download per Windows App SDK.

Nota

Le estensioni di Visual Studio (VSIX) di Windows App SDK non vengono più distribuite come download separato. Sono disponibili in Visual Studio Marketplace all'interno di Visual Studio.

Versione 1.2.5 (1.2.230313.1)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.2.

  • È stato risolto un problema che causava l'arresto anomalo delle app durante l'arresto di Composition.
  • È stato risolto un problema che causava la continuazione dell'esecuzione delle animazioni delle app anche quando lo schermo è spento.
  • È stato risolto un problema che causava l'errore dell'input tramite mouse e tocco in WebView2 quando si verificava simultaneamente l'input del mouse e della tastiera. Per altre informazioni, vedere il problema #3266 su GitHub.

Versione 1.2.4 (1.2.230217.4)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.2.

  • È stato risolto un problema che causava la mancata possibilità di regolare le Impostazioni di controllo dell'account utente per le app autonome. Per altre informazioni, vedere il problema #3376 su GitHub.
  • È stato risolto un problema che causava la restituzione delle notifiche push a un'ora di scadenza imprecisa con PushNotificationChannel::ExpirationTime. Per altre informazioni, vedere il problema #3300 su GitHub.
  • È stato risolto un problema che causava la considerazione di numeri negativi "non validi" quando passava un valore doppio come parametro in una funzione x:Bind.
  • Diverse correzioni per aggiornare winUI VSIX. Questi aggiornamenti includevano la semplificazione del modello di progetto dipAwareness in app.manifest, la rimozione dei modelli UWP, l'aggiornamento dei file di risorse localizzati, l'aggiunta dell'ID telefono per sbloccare l'invio dell'archivio e la rimozione dell'informativa sul copyright e della licenza. Per altre informazioni, vedere Problemi di GitHub #5659, #3205, #3323, #3322, #3143.

Versione 1.2.3 (1.2.230118.102)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.2.

  • È stato risolto un problema che causava l'arresto anomalo delle app WinUI 3 quando più finestre vengono chiuse.
  • È stato risolto un problema che causava un arresto anomalo dell'app quando vengono richiesti due o più riferimenti all'interfaccia ThreadPoolTimer. Per altre informazioni, si vedano i Problemi #7260 e #7239 su GitHub.
  • È stato risolto un problema che causava l'esecuzione di tutte le app MSIX a progetto singolo come attendibilità totale. Per altre informazioni, vedere il problema #7766 su GitHub.

Versione 1.2.2 (1.2.221209.1)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.2.

  • È stato risolto un problema che causava l'installazione dei pacchetti dello Store e del sideload (ad esempio dal programma di installazione, da NuGet e dal programma di avvio automatico) se l'altro è già installato. Per altre informazioni, vedere il problema #3168 su GitHub.
  • È stato risolto un problema che causava effetti di elasticità mancanti e curve di animazione durante lo scorrimento con un touchpad. Per altre informazioni, vedere il problema #7874 su GitHub.
  • Correzione del problema in ListView che causa perdite di memoria.
  • È stato risolto un problema che causava il mancato rispetto della proprietà Foreground dopo il passaggio del mouse. Per altre informazioni, vedere il problema #7208 su GitHub.
  • È stato risolto un problema che causava un'eccezione non necessaria quando non c'è mediaPlaybackItem in un oggetto MediaElement.
  • È stato risolto un problema che causava la visualizzazione di un frame bianco in MediaPlayerElement nelle transizioni di contenuto.
  • Correzione di problemi aggiuntivi che causano la mancata intercettazione di eccezioni da altri thread da parte di App.UnhandledException. Per altre informazioni, si vedano i Problemi #1259 e #5221 su GitHub.

Versione 1.2.1 (1.2.221116.1)

Si tratta di una versione di manutenzione di Windows App SDK che include una correzione di bug critica per la versione 1.2.

È stato risolto un problema che causava un arresto anomalo all'avvio nelle app WinUI 3 C++ durante l'aggiunta di un controllo WebView2 o TextBox. Per altre informazioni, vedere il problema #7911 & #3117 su GitHub.

funzionalità nuove e aggiornate e problemi noti per la versione 1.2

Nelle sezioni seguenti, vengono descritte le funzionalità nuove e aggiornate e i problemi noti per la versione 1.2.

Nota

Visual Studio 2019 e .NET 5 non sono più supportati per la compilazione di app C# (vedere Passaggio di Windows App SDK 1.2 a C# WinRT 2.0). Sono necessari Visual Studio 2022 e una delle versioni seguenti di .NET SDK: 6.0.401 (o versioni successive), 6.0.304, 6.0.109. Al rilascio, WinAppSDK 1.2 supporterà anche .NET 7.

Per aggiornare la versione di .NET SDK, installare la versione più recente di Visual Studio 2022 o visitare Download .NET. Durante l'aggiornamento del pacchetto NuGet senza la versione richiesta di .NET SDK, quando si aggiorna il pacchetto NuGet verrà visualizzato un errore simile al seguente: "Questa versione di WindowsAppSDK richiede NET 6+ e WinRT.Runtime.dll versione 2.0 o successiva". Per aggiornare il progetto da .NET 5.0 a .NET 6.0, aprire il file di progetto e modificare "TargetFramework" in net6.0 e "Versione del sistema operativo di destinazione" al valore appropriato ,ad esempio net6.0-windows10.0.19041.0.

Widget di terze parti in Windows

La scheda widget è stata introdotta per la prima volta in Windows 11 ed è stata limitata alla visualizzazione di widget predefiniti. I widget di Windows sono contenitori di interfaccia utente di piccole dimensioni che visualizzano testo e grafica nell'apposita scheda, associati a un'app installata nel dispositivo. Con Windows App SDK, come sviluppatori di terze parti è ora possibile creare widget per le app Win32 in pacchetto e testarle localmente nella scheda widget di Windows 11.

Per altre informazioni sui widget, vedere Panoramica dei widget.

Per iniziare a sviluppare widget per l'app, vedere la documentazione di sviluppo del provider di servizi Widget e concetti fondamentali sulla progettazione dei widget per prerequisiti, indicazioni e procedure consigliate.

I prerequisiti per questa versione includono quanto segue:

  • Modalità sviluppatore abilitata nel computer di sviluppo.
  • Il computer di sviluppo esegue una versione di Windows dal canale dev di Windows Insider Preview (WIP) maggiore o uguale a 25217 con scheda widget versione 521.20060.1205.0 o successiva.

Limitazioni note durante lo sviluppo di widget:

  • I widget di terze parti possono essere testati solo localmente nei dispositivi registrati in WIP per questa versione di anteprima.
  • I widget possono essere creati solo per le app Win32 incluse nel pacchetto. I widget per l'App Web Progressiva (PWA) devono essere supportati come parte di Microsoft Edge 108.

DisplayInformation

Le app desktop di Windows possono ora supportare le immagini High dynamic range (HDR) e Gestione colori automatica (ACM) tramite la classe DisplayInformation in WinAppSDK. La classe DisplayInformation consente di monitorare le informazioni correlate alla visualizzazione di un'applicazione. Sono inclusi gli eventi per consentire ai client di monitorare le modifiche nella visualizzazione Applicazione che influiscono sulle visualizzazioni in cui risiede la visualizzazione, nonché sulle modifiche apportate agli schermi che possono influire sulla visualizzazione dell'applicazione.

WinUI 3

Le app WinUI 3 possono riprodurre audio e video con i controlli di riproduzione multimediale MediaPlayerElement e MediaTransportControls. Per altre info su come e quando usare i controlli multimediali, vedere Lettori multimediali.

WinUI 3 è stato aggiornato con i controlli, gli stili e i comportamenti più recenti di WinUI 2.8. Questi aggiornamenti includono l'aggiunta del comando InfoBadge, miglioramenti alla modalità di accessibilità e contrasto elevato, nonché correzioni di bug tra i comandi. Per altri dettagli, vedere le note sulla versione per WinUI 2.7 e WinUI 2.8.

Problemi risolti:

Limitazioni note:

  • Quando si crea un nuovo progetto WinUI 3 con Visual Studio 2022 17.4.0, farà riferimento a una versione di anteprima di WinAppSDK. Usare NuGet Gestione pacchetti per aggiornare il riferimento a questa versione.
  • L'impostazione di MediaPlayerElement.Source su un URI relativo (ms-appx/ms-resource) ha esito negativo nelle app non incluse nel pacchetto. La soluzione alternativa consigliata consiste nel convertire l'URI ms-appx:/// relativo in un URI file:/// completamente risolto.

Trimming per le app sviluppate con .NET

Gli sviluppatori .NET possono ora pubblicare app WinAppSDK tagliate. Con CsWinRT 2.0, le proiezioni C#/WinRT distribuite in WinAppSDK sono ora trimmabili. La pubblicazione dell'app sottoposta a trimming può ridurre il footprint del disco dell'app rimuovendo qualsiasi codice inutilizzato dai file binari trimmabili. Le app possono anche visualizzare un miglioramento delle prestazioni di avvio. Con un'app Hello World di base, è stato riscontrato un miglioramento del footprint del disco circa l'80% e un miglioramento delle prestazioni di avvio del 7% quando è stato pubblicato. Con la raccolta WinUI, è stato riscontrato un miglioramento del footprint del disco del 45%.

Per altre informazioni su come abilitare il trimming, trimmare le limitazioni (ad esempio la riflessione sui tipi trimmabili) e gli avvisi: a tale proposito, vedere Trim self-contained deployments and executables (Trimming delle distribuzioni autonome e degli eseguibili). Gli sviluppatori devono testare accuratamente le proprie app dopo il trimming per assicurarsi che tutto funzioni come previsto. Per altre informazioni su queste modifiche, vedere il problema #2478 su GitHub.

Supporto per Visual Studio Arm64

Come prima di Project Reunion (ora WinAppSDK) 0.5, le app sviluppate con WinAppSDK erano in grado di essere eseguite su Arm64. A partire da Visual Studio 17.3 Preview 2, è possibile sviluppare applicazioni native con WinAppSDK nei dispositivi Arm64.

Per iniziare a sviluppare in un dispositivo Arm64, vedere Windows in Arm e Arm64 Visual Studio.

Notifications

AppNotificationBuilder è stato introdotto come alternativa al payload XML per la creazione e la definizione delle notifiche dell'app.

Per informazioni sull'utilizzo, vedere la specifica AppNotificationBuilder su GitHub.

Inoltre, si veda Avvio rapido: notifiche di Windows App SDK per un esempio di come creare un'applicazione di Windows desktop che invia e riceve notifiche di app locali.

Modifica di rilievo:

Per le notifiche push, quando si effettua una chiamata di richiesta canale, le app dovranno usare l'ID oggetto di Azure anziché l'ID app Azure. Per informazioni dettagliate sulla ricerca dell'ID oggetto di Azure, vedere Avvio rapido: notifica push in Windows App SDK.

Problema risolto:

PushNotificationManager.IsSupported eseguirà un controllo per la modalità con privilegi elevati. Restituirà false se l'app è elevata.

Limitazioni note (notifiche):

Windowing

La personalizzazione completa della barra del titolo è ora disponibile in Windows 10, versione 1809 e successive tramite la classe AppWindowTitleBar. È possibile impostare AppWindowTitleBar.ExtendsContentIntoTitleBar per true estendere il contenuto nell'area della barra del titolo e SetDragRectangles per definire le aree di trascinamento (oltre ad altre opzioni di personalizzazione).

Se è stata usata la proprietà AppWindowTitleBar.IsCustomizationSupported per verificare se è possibile richiedere le API AppWindowTitleBar, ora restituisce true nelle versioni supportate di Windows App SDK Windows 10 (1809 e versioni successive).

Limitazioni note (windowing):

Le personalizzazioni della barra del titolo di base non sono supportate in Windows 10. Ad esempio: BackgroundColor, InactiveBackgroundColor, ForegroundColor, InactiveForegroundColor e IconShowOptions. Se si richiedono queste proprietà, queste verranno ignorate automaticamente. Tutte le altre API AppWindowTitleBar operano in Windows 10, versione 1809 e successive. Per le API colore del pulsante didascalia (tra le altre) e Height, ExtendsContentIntoTitleBar è necessario impostare su true, altrimenti verranno ignorate automaticamente.

Controllo di accesso

Introdotto security.accesscontrol.h con la funzione GetSecurityDescriptorForAppContainerNames per semplificare e semplificare la condivisione di oggetti denominati tra processi in pacchetto e API Win32 generali. Questo metodo accetta un elenco di nomi di famiglia di pacchetti (PFN) e maschere di accesso, oltre a restituire un descrittore di sicurezza. Per altre informazioni, vedere la specifica GetSecurityDescriptorForAppContainerNames spec su GitHub.

Altre limitazioni e problemi noti

Importante

Quando si fa riferimento a WinAppSDK 1.2 da un progetto, è possibile che venga visualizzato un errore simile al seguente: "Downgrade del pacchetto rilevato: Microsoft.Windows.SDK.BuildTools da 10.0.22621.1 a 10.0.22000.194.", causato da riferimenti incompatibili al pacchetto dal progetto dell'app e dal pacchetto WinAppSDK. Per risolvere questo problema, è possibile aggiornare il riferimento nel progetto a una versione più recente e compatibile di Microsoft.Windows.SDK.BuildTools.

  • Gli unit test potrebbero non riuscire con un REGDB_E_CLASSNOTREG errore nel riquadro output Test in Visual Studio. Come soluzione alternativa, è possibile aggiungere <WindowsAppContainer>true</WindowsAppContainer> al file di progetto.
  • .NET PublishSingleFile non è supportato.
  • Le impostazioni predefinite del programma di avvio automatico e dell'inizializzatore automatico WinRT RegFree sono (ora) impostate solo per i progetti che producono un elemento eseguibile (OutputType=Exe o WinExe). Ciò previene l'aggiunta di inizializzatori automatici nelle DLL della libreria di classi e in altri file non eseguibili per impostazione predefinita.
    • Se è necessario un inizializzatore automatico in un file non eseguibile ,ad esempio una DLL di test caricata da un eseguibile generico che non inizializza il programma di avvio automatico, è possibile abilitare in modo esplicito un inizializzatore automatico nel progetto tramite <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize> o <WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>.
  • Microsoft.WindowsAppRuntime.Release.Net.dll è sempre il file binario Arm64 e non funziona per le app x86 e x64. Quando si richiede in modo esplicito l'API Bootstrap non usare l'assembly Microsoft.WindowsAppRuntime.Release.Net.dll. Come soluzione alternativa, è possibile includere costanti di versione in questo file di origine distribuito con il pacchetto NuGet: '.. \include\WindowsAppSDK-VersionInfo.cs' o usare l'inizializzatore automatico.