Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
- Se si vuole aggiornare un'app esistente da una versione precedente di Windows App SDK di Windows a una versione più recente, vedere Aggiornare i progetti esistenti alla versione più recente di Windows App SDK.
Archivio note sulla versione del canale Stabile:
- Note di rilascio della release stabile per Windows App SDK 1.6
- Note di rilascio del canale stabile per Windows App SDK 1.5
- Note sulla versione del canale stabile per Windows App SDK 1.4
- Note sulla versione del canale stabile per Windows App SDK 1.3
- Note sulla versione del canale stabile per Windows App SDK 1.2
- Note di rilascio del canale stabile per Windows App SDK 1.1
- Note sulla versione del canale stabile per Windows App SDK 1.0
- Note di rilascio del Canale Stabile per Windows App SDK 0.8
- Note sulla versione del canale stabile per Windows App SDK 0.5
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.7
In un'app Windows App SDK esistente è possibile aggiornare il pacchetto Nuget alla versione 1.7.250401001 (vedere la sezione Aggiornare un pacchetto in Installare e gestire pacchetti in Visual Studio usando Gestione pacchetti NuGet).
Per il runtime e l'MSIX aggiornati, vedere anche Download per il Windows App SDK.
Versione 1.7.1 (1.7.250401001)
Si tratta di una versione di manutenzione di Windows App SDK che include correzioni di bug critiche per la versione 1.7.
- Sono stati migliorati i dati di telemetria per gli scenari di errore specifici in WindowsAppRuntimeInstall-<arch>.exe. Per altre informazioni, vedere Problema di GitHub #5289. (RuntimeCompatibilityChange: N/A, modifica del programma di installazione)
- È stato risolto un problema per cui l'input del puntatore smetteva di funzionare quando si usano i tasti di direzione contemporaneamente. Per altre informazioni, vedere Problema di GitHub #10126. (RuntimeCompatibilityChange: FixStuckPointerInputQueue)
- È stato risolto un problema a causa del quale le app nel desktop remoto smette di rispondere all'input del puntatore. Per altre informazioni, vedere Problema di GitHub #10009. Si tratta della stessa correzione dell'input del puntatore e dei tasti di direzione, dovuta al desktop remoto che invia automaticamente alcuni input di tasti durante il passaggio da e verso la sessione. (RuntimeCompatibilityChange: FixStuckPointerInputQueue)
- Correzione di un potenziale arresto anomalo del sistema che tenta di ripristinare lo stato attivo se viene recapitato un evento di attivazione della finestra per una finestra che sta chiudendo. (RuntimeCompatibilityChange: Correzione del crash di chiusura finestra con messa a fuoco)
- Correzione di una regressione delle prestazioni introdotta in WinAppSDK 1.6 a causa di file binari WinUI mancanti alcune ottimizzazioni del linker. (RuntimeCompatibilityChange: N/A, opzioni del linker modificate)
- Corretta un'eventuale crash quando ProgressBar::SetProgressBarIndicatorWidth viene chiamato su un ProgressBar che non si trova nell'albero. (ModificaCompatibilitàRuntime: CorrezioneCrashSetLarghezzaIndicatoreBarraProgressi)
- Correzione di un potenziale arresto anomalo causato da CPopup::EnsureBridgeClosed che a volte attiva la rientranza. (RuntimeCompatibilityChange: FixPopupClosingReentrancyCrash)
- Corretto un potenziale arresto anomalo durante la chiusura di un popup a causa di CUIElement::FlushPendingKeepVisibleOperations che utilizza una raccolta di elementi figlio nulla. (RuntimeCompatibilityChange: FixPopupUnloadingCrash)
- Corretto PackageDeploymentManager.EnsurePackage*Ready per garantire la sostituzione della versione. Per altre informazioni, vedere Problema di GitHub #5191. (CambioCompatibilitàRuntime: GarantisciVersioneProntaPacchettoSupercedenza)
- Corretto un potenziale arresto anomalo causato da WebView2::UpdateCoreWebViewVisibility che a volte attiva la reentrancy. Per altre informazioni, vedere Problema di GitHub #10305. (RuntimeCompatibilityChange: FixWebViewVisibilityReentrancyCrash)
- È stato risolto un problema a causa del quale l'interfaccia utente dell'app talvolta si blocca in modo permanente e può interrompere il rendering a causa del blocco di DispatcherQueue. (RuntimeCompatibilityChange: FixRandomUIFreezeInDispatcher)
Versione 1.7.0 (1.7.250310001)
Le sezioni seguenti descrivono le funzionalità nuove e aggiornate e i problemi noti per la versione 1.7.
Nuova funzionalità di notifiche per i badge
Il badge di notifica indica un riepilogo o informazioni sullo stato specifiche di un'app. Può essere numerico (1-99) o un glifo da uno dei glifi forniti dal sistema. Questa nuova funzionalità offre un modo semplice per mostrare lo stato delle app, ad esempio il numero di messaggi non letti in un'app di posta elettronica o il numero di nuovi post in un'app di social media.
Per altre informazioni, vedere GitHub #4926.
Nuova API CameraCaptureUI
Gli sviluppatori hanno riscontrato problemi negli ambienti desktop a causa del fatto che WinRT CameraCaptureUI dipende da CoreWindows e la mancanza di supporto InitializeWithWindow. Il team ha rilasciato questa nuova Microsoft.Windows.Media.Capture.CameraCaptureUI
API a WinAppSDK per fornire una soluzione semplificata con parità delle funzionalità, ora supportando WindowID nel costruttore per migliorare la compatibilità dei desktop.
Per altre informazioni, vedere Problema di GitHub #4721.
Nuova API di autenticazione
Una nuova API OAuth2Manager
offre una soluzione semplificata per l'autenticazione Web, offrendo funzionalità OAuth 2.0 con parità completa delle funzionalità in tutte le piattaforme Windows supportate da Windows App SDK. Questo nuovo gestore di autenticazione è diverso dall'API WebAuthentication Broker pubblica, in quanto è più allineato alle procedure consigliate di OAuth.
Per altre informazioni, vedere Problema di GitHub #4772.
Nuovo supporto per le attività in background
Le attività in background sono componenti dell'app che vengono eseguiti in background senza un'interfaccia utente, eseguendo azioni come i file di download, la sincronizzazione dei dati, l'invio di notifiche o l'aggiornamento di file. La nuova API BackgroundTaskBuilder
consente alle app dipendenti da WinAppSDK di registrare direttamente i componenti COM a piena fiducia con attività in background, eliminando la necessità di implementare una soluzione alternativa.
Per altre informazioni, vedere GitHub #4831.
Nuovo controllo TitleBar
Un nuovo controllo TitleBar
semplifica notevolmente la creazione di un'ottima barra del titolo personalizzabile per la tua app. Configurare proprietà come l'icona della barra del titolo, titolo e sottotitolo, includere un pulsante Indietro integrato o persino aggiungere un controllo personalizzato come una casella di ricerca. Il controllo include funzionalità robuste della barra del titolo, ad esempio aree trascinabili a spazi vuoti, velocità di risposta del tema, pulsanti di didascalia e supporto per l'accessibilità predefinita, in modo da poter concentrarsi sulla progettazione personalizzata e ottenere comunque la stessa barra del titolo affidabile dell'esperienza predefinita.
Per altre informazioni, vedere GitHub #10056.
Supporto per MathML
RichEditBox
ora supporta MathML, tramite RichEditTextDocument.SetMathMode
e RichEditTextDocument.SetMathML
.
Per altre informazioni, vedere GitHub #4196.
Runtime migliorato
- Le API dipendenze dinamiche di Windows App SDK delegano tutte le chiamate all'implementazione di Windows 11 quando vengono eseguite in >= Windows 11 24H2 (10.0.26100.0) offrendo prestazioni e affidabilità migliorate. Questo vale per tutte le API C/C++ (Mdd*()) e WinRT (spazio dei nomi Microsoft.Windows.ApplicationModel.DynamicDependency).
- I processi in pacchetto che chiamano le API dipendenze dinamiche di Windows App SDK sono ora supportati in >= Windows 11 24H2 (10.0.26100.0). Questa funzionalità non è ancora supportata nei sistemi meno recenti (l'implementazione di WinAppSDK non supporta le app in pacchetto).
- Questo non ha alcun impatto sull'esperienza di sviluppo. Gli utenti possono continuare a usare l'API Bootstrapper per aggiungere il pacchetto framework WinAppSDK al grafo dei pacchetti del processo chiamante.
- Per altre informazioni, vedere GitHub PR #4949.
- WinRT (URFW) senza registrazione non è abilitato in >= Windows 11 24H2 (10.0.26100.0). L'implementazione del sistema operativo gestisce tutte le attività WinRT senza registrazione in questi sistemi, offrendo prestazioni e affidabilità migliorate. Per altre informazioni, vedere GitHub PR #4949.
- La deviazione non viene usata in >= Windows 11 24H2 (10.0.26100.0). La deviazione è stata usata solo dalle implementazioni di Windows App SDK di Dipendenze dinamiche e WinRT senza registrazione, ma poiché queste funzionalità sono ora gestite dalle implementazioni del sistema operativo non è necessario inizializzare o collegare in altro modo Detour. Ciò offre un piccolo miglioramento delle prestazioni durante il caricamento di Microsoft.WindowsAppRuntime.dll. Per altre informazioni, vedere GitHub PR #4949.
Nuove API AppWindow
Le nuove AppWindow
API semplificano il controllo delle finestre delle app per creare un'esperienza ottimale. Le nuove funzionalità includono l'uso SetTaskBarIcon
di e SetTitleBarIcon
per impostare in modo indipendente le icone della barra delle applicazioni e della barra del titolo, usando AppWindowTitleBar.PreferredTheme
per impostare il tema chiaro/scuro della barra del titolo e usando nuove proprietà come OverlappedPresenter.PreferredMinimumWidth
e OverlappedPresenter.PreferredMaximumHeight
per impostare una larghezza o un'altezza minima o massima per la finestra.
Nuove API dell'isola
Gli aggiornamenti nello spazio dei nomi Microsoft.UI.Content introducono diversi miglioramenti significativi e nuove funzionalità volte a migliorare le funzionalità e l'interoperabilità delle API ContentIsland. Queste modifiche sono progettate per supportare nuovi scenari di hosting, migliorare le funzionalità di rendering e garantire una migliore sincronizzazione degli stati di input e accessibilità. Gli aggiornamenti principali includono:
- Nuove primitive per l'hosting di ContentIslands:
-
DesktopPopupSiteBridge
: abilita l'hosting di unContentIsland
oggetto nell'ambiente di una finestra Win32 con WS_POPUP stile, semplificando gli scenari in cui le applicazioni usano finestre popup per finestre di dialogo e finestre di messaggio. -
ChildSiteLink
: consente a un padreContentIsland
di ospitare un elemento figlioContentIsland
annidato, fornendo un partizionamento senza interruzioni della superficie di rendering senza l'esperienza utente. -
DesktopAttachedSiteBridge
: si collega a una finestra Win32 esistente anziché crearne una nuova, progettata per ospitare unContentIsland
oggetto con Windows.UI.Composition.Visuals nella radice della gerarchia delle finestre Win32, garantendo il controllo completo sull'elaborazione e l'accessibilità basati su Win32.
-
- Rendering avanzato e sincronizzazione dell'input:
- Le
LocalToParentTransformMatrix
proprietà eActualSize
di unChildSiteLink
oggetto vengono aggiornate rispetto all'elemento padreContentIsland
prima del rendering, evitando la latenza e garantendo stati di input e accessibilità sincronizzati.
- Le
- ContentIslands con Windows.UI.Composition.Visuals:
-
ContentIsland
può usare Windows.UI.Composition.Visuals per il rendering e le API finestra Win32 per l'elaborazione dell'input, abilitando l'interoperabilità con le applicazioni che usano framework UX legacy. Ciò consente un'adozione graduale di framework di esperienza utente più recenti su più livelli su Windows App SDK Scene Graph, ad esempio WinUI e React Native per Windows in Fabric. Questi aggiornamenti migliorano collettivamente la flessibilità, le prestazioni e l'interoperabilità delle API ContentIsland, consentendo agli sviluppatori di creare applicazioni più sofisticate e reattive.
-
Inoltre, gli aggiornamenti nello spazio dei nomi Microsoft.UI.Xaml introducono una nuova XamlIsland
API, che consente l'hosting di contenuto Xaml all'interno di un SiteBridge o di un oggetto ChildSiteLink
. Offre XamlIsland
una maggiore flessibilità rispetto all'API DesktopWindowXamlSource
. Anche se DesktopWindowXamlSource
richiede l'hosting all'interno di una finestra Win32 esistente, espone XamlIsland
un ContentIsland
, abilitando altre opzioni per l'hosting di contenuto Xaml.
Altre modifiche rilevanti
- Il nuovo supporto
RuntimeCompatibilityOptions
consentirà un maggiore controllo sul modo in cui le modifiche di manutenzione influiscono sulle app. Per altre informazioni, vedere GitHub #4966. - Una nuova API
ReleaseInfo
consente di accedere facilmente alla versione di Windows App SDK Runtime in uso. Per altre informazioni, vedere GitHub #2893. - Nota: le API di Windows Copilot Runtime non sono incluse in questa versione. Per sperimentare queste API, continuare a usare la versione 1.7-experimental3 e condividere i commenti e i suggerimenti.
Nuove API per la versione 1.7.0
Questa versione include le nuove API seguenti rispetto alla versione stabile 1.6:
Microsoft.Security.Authentication.OAuth
AuthFailure
AuthRequestParams
AuthRequestResult
AuthResponse
ClientAuthentication
CodeChallengeMethodKind
OAuth2Manager
TokenFailure
TokenFailureKind
TokenRequestParams
TokenRequestResult
TokenResponse
Microsoft.UI.Content
ChildSiteLink
ContentAutomationOptions
ContentEnvironmentStateChangedEventArgs
DidDisplayScaleChange
ContentIsland
AutomationOption
Children
CreateForSystemVisual
FindAllForSystemCompositor
FragmentRootAutomationProvider
GetBySystemVisual
LocalToClientTransformMatrix
LocalToParentTransformMatrix
NextSiblingAutomationProvider
ParentAutomationProvider
Popups
PreviousSiblingAutomationProvider
ProcessesKeyboardInput
ProcessesPointerInput
ContentIslandEnvironment
DisplayScale
ContentIslandStateChangedEventArgs
DidLocalToClientTransformMatrixChange
DidLocalToParentTransformMatrixChange
ContentSite
LocalToClientTransformMatrix
LocalToParentTransformMatrix
ProcessesKeyboardInput
ProcessesPointerInput
ContentSiteAutomationProviderRequestedEventArgs
ContentSiteEnvironment
DisplayScale
ContentSiteEnvironmentView
DisplayScale
ContentSiteView
AutomationOption
LocalToClientTransformMatrix
LocalToParentTransformMatrix
ProcessesKeyboardInput
ProcessesPointerInput
DesktopAttachedSiteBridge
DesktopChildSiteBridge
CreateWithDispatcherQueue
DesktopPopupSiteBridge
IContentSiteAutomation
IContentSiteInput
IContentSiteLink
Microsoft.UI.Input
InputFocusNavigationHost
GetForSiteLink
Microsoft.UI.Text
RichEditTextDocument
GetMathML
GetMathMode
SetMathML
SetMathMode
Microsoft.UI.Windowing
AppWindow
SetTaskbarIcon
SetTaskbarIcon
SetTitleBarIcon
SetTitleBarIcon
AppWindowTitleBar
PreferredTheme
OverlappedPresenter
PreferredMaximumHeight
PreferredMaximumWidth
PreferredMinimumHeight
PreferredMinimumWidth
TitleBarTheme
Microsoft.UI.Xaml
XamlIsland
XamlRoot
ContentIsland
Microsoft.UI.Xaml.Controls
TitleBar
TitleBarAutomationPeer
TitleBarTemplateSettings
Microsoft.Windows.ApplicationModel.Background
BackgroundTaskBuilder
Microsoft.Windows.ApplicationModel.Background.UniversalBGTask
Task
Microsoft.Windows.ApplicationModel.WindowsAppRuntime
ReleaseInfo
RuntimeCompatibilityChange
RuntimeCompatibilityOptions
RuntimeInfo
WindowsAppRuntimeVersion
Microsoft.Windows.BadgeNotifications
BadgeNotificationGlyph
BadgeNotificationManager
Microsoft.Windows.Media.Capture
CameraCaptureUI
CameraCaptureUIMaxPhotoResolution
CameraCaptureUIMaxVideoResolution
CameraCaptureUIMode
CameraCaptureUIPhotoCaptureSettings
CameraCaptureUIPhotoFormat
CameraCaptureUIVideoCaptureSettings
CameraCaptureUIVideoFormat
Correzioni di bug
Questa versione include le seguenti correzioni di bug:
- Modificata
SplitButton
in modo che l'input tocco ora corrisponda al comportamento dell'input del mouse. Per altre informazioni, vedere Problema di GitHub #178. - Modifica dei menu a catena in modo che i menu secondari vengano aperti immediatamente se si fa clic. Per altre informazioni, vedere Problema di GitHub #939.
- È stato risolto un problema in cui aprire un
ComboBox
in un riquadro a comparsa chiude tutti i riquadri a comparsa. Per altre informazioni, vedere Problema di GitHub #1467. - Un problema in cui
SwipeControl
si arrestava in modo casuale in unListView
è stato risolto. Per altre informazioni, vedere Problema di GitHub #2527. - È stato risolto un problema per cui trascinare e rilasciare solo un
ListViewItem
lo lasciava nello stato visivo errato. Per altre informazioni, vedere Problema di GitHub #3458. - È stato risolto un problema in
StackLayout
in modo che vengano rispettate le proprietà ItemsRepeater.HorizontalAlignment e ItemsRepeater.VerticalAlignment, rispettivamente quando StackLayout.Orientation è Vertical e Horizontal. Il layout precedente si comportava come se l'allineamento di ItemsRepeater fosse impostato su Stretch. Con la correzione, il layout restituisce elementi allineati a destra quando viene usato l'allineamento a destra, ad esempio. Per altre informazioni, vedere Problema di GitHub #3842. - Correzione di un potenziale arresto anomalo quando si usa una risorsa che contiene un oggetto
x:Bind
. Per altre informazioni, vedere Problema di GitHub #5786. - È stato risolto un problema per cui l'eliminazione di elementi nell'origine del
ItemsRepeater
non rendeva visibili gli elementi che si spostavano in alto nella visualizzazione. Per altre informazioni, vedere Problema di GitHub #6661. - È stato risolto un problema per cui il tasto ALT destro non visualizzava i suggerimenti per i tasti di scelta. Per altre informazioni, vedere Problema di GitHub #8447. Nota: Questo può comportare che gli eventi principali per il tasto ALT destro non siano più recapitati ai gestori o controlli dell'app.
- È stato risolto un problema per cui l'uso di un ResourceDictionary contenente solo una singola risorsa non riusciva a trovare tale risorsa e probabilmente causava un arresto anomalo. Per altre informazioni, vedere Problema di GitHub #8832.
- È stato risolto un crash di sistema in cui
UniformGridLayout
a volte selezionava un ancoraggio di layout errato e causava infinite iterazioni di layout scorrendo verso l'alto. Per altre informazioni, vedere Problema di GitHub #9199. - È stato risolto un problema per cui l'impostazione di
NavigationFailedEventArgs.Handled
su True generava comunque un'eccezione. Per altre informazioni, vedere Problema di GitHub #9632. - È stato risolto un problema per cui
TabView
non applicava alcunCornerRadius
specificato. Per altre informazioni, vedere Problema di GitHub #9846. - Abbiamo corretto un potenziale arresto anomalo del ciclo di layout in
StackLayout
. Per altre informazioni, vedere Problema di GitHub #9852. - Risolto un potenziale arresto anomalo in
ItemsView
durante la rimozione di elementi. Per altre informazioni, vedere Problema di GitHub #9868. - È stato risolto un problema nella versione 1.7-preview1 in cui i popup non venivano più spostati correttamente con la finestra padre. Per altre informazioni, vedere Problema di GitHub #10386.
- In base al feedback della versione 1.7-preview1, sono state rinominate alcune proprietà nel nuovo
TitleBar
controllo.