Note sulla versione del canale stabile per Windows App SDK 1.1

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.

Version 1.1

La versione più recente disponibile della derivazione 1.1.x del canale stabile di Windows App SDK è la versione 1.1.5. 1.1.x supporta tutte le funzionalità del canale stabile (vedere la sezione Funzionalità disponibili per canale di rilascio in Canali di rilascio Windows App SDK).

Versione 1.1.5

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

Correzioni di bug (1.1.5)

  • È stato risolto un problema per cui l'acrilico non funziona se Mica è abilitata. Per altre informazioni, vedere il problema 7200 su GitHub.
  • È stato risolto un problema che causava l'esito negativo dell'esecuzione delle app che dipendono dal programma di installazione WindowsAppRuntime (ad esempio le app non incluse nel pacchetto) nei computer Windows 10 ARM64. Per altre informazioni, vedere il problema 2564 su GitHub.

Versione 1.1.4

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

Correzioni di bug (1.1.4)

  • Correzione della regressione dalla versione 1.0.x che causava l'arresto anomalo di ListView, TreeView e altri controlli 'List' durante lo scorrimento con molti elementi. Per altre informazioni, vedere il problema 7230 su GitHub.
  • È stato risolto un problema relativo a DispatcherQueue che causava la mancata chiamata dei callback accodati.
  • È stato risolto un problema che causava un arresto anomalo dell'app quando si richiede DeploymentManager.Initialize più volte nella stessa sessione dell'app.
  • È stato risolto un problema che causava l'errore di compilazione delle app C# in Arm64 Visual Studio. Per altre informazioni, vedere il problema 7140 su GitHub.
  • Correzione di un arresto anomalo intermittente nel codice di creazione dell'immagine XAML a causa di una gestione errata degli errori.
  • È stato risolto un problema di perdita di memoria durante il collegamento di un gestore eventi in ItemsRepeater con un userControl padre. Per altre informazioni, vedere il problema 6123 su GitHub.
  • È stato risolto un problema di compilazione che causava un errore di compilazione in Visual Studio 17.3 quando un progetto di app è configurato per abilitare gli aggiornamenti automatici del pacchetto quando viene trasferita localmente (ad esempio.appinstaller). Per altre informazioni, vedere il problema 2773.
  • È stato corretto il problema che causava la chiamata di Initialize da parte delle applicazioni pacchettizzate distribuite in Store (necessaria ad esempio per Push), che veniva denominata in modo ridondante alla restituzione di DeploymentManager::GetStatus Package Install Needed quando sono già installati i pacchetti main e singleton. Ciò ha causato una riduzione delle prestazioni all'avvio dell'app.
  • È stato risolto un problema che causava un'eccezione nelle app a istanza singola quando l'evento di pulizia doveva essere ignorato se non poteva essere aperto. Per ulteriori informazioni, vedere le informazioni di riferimento su GitHub.

Versione 1.1.3

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

Correzioni di bug (1.1.3)

  • È stato risolto un set correlato di problemi a causa del quale XAML si arresta in modo anomalo quando si include un controllo ProgressBar, ProgressRing, PipsPager, PersonPicture o Expander nella prima pagina dell'app. Per altre informazioni, vedere il problema 7164 su GitHub.
  • È stato risolto un problema per cui il programma di installazione x64 non riesce a installare il runtime di Windows App SDK. Per altre informazioni, vedere il problema 2713 su GitHub.
  • È stato risolto un problema che causava l'errore di installazione di WindowsAppRuntime se è installata una versione successiva del runtime. Vedere la discussione 2708 su GitHub per ulteriori informazioni.

Versione 1.1.2

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

Correzioni di bug (1.1.2)

  • È stato risolto un problema a causa del quale XAML si arresta in modo anomalo durante la chiusura di una finestra mentre è aperta una finestra di dialogo. Per altre informazioni, vedere il problema 1032 su GitHub.
  • Aggiunta di <auto-generated> tag nei file C# per impedire avvisi StyleCop. Per altre informazioni, vedere il problema 4526 su GitHub.
  • È stato risolto un problema che causava un errore di violazione di accesso e un arresto anomalo durante la chiamata a MddBootstrapInitialize quando il pacchetto del framework corrispondente non è installato. Per altre informazioni, vedere il problema 2592 su GitHub.
  • È stato risolto un problema a causa del quale i modelli di elementi WinUI 3 C# mancavano in Visual Studio. Per altre informazioni, vedere il problema 7148 su GitHub.
  • È stato risolto un problema a causa del quale il programma di installazione windowsAppRuntime ha esito negativo quando viene eseguito come utente di sistema. Per altre informazioni, vedere il problema 2546 su GitHub.

Versione 1.1.1

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

Correzioni di bug (1.1.1)

  • Sono stati risolti problemi che causano un arresto anomalo delle app durante un'operazione di trascinamento della selezione. Per altre informazioni, vedere il problema 7002 su GitHub.
  • È stato risolto un problema che causava la scomparsa della barra del titolo quando si passa a AppWindowPresenterKind da FullScreen a Default.
  • È stato risolto un problema a causa del quale le API del programma di avvio automatico come ApiInformation.IsPropertyPresent e ApiInformation.IsMethodPresent causavano eccezioni non gestite nelle app non incluse nel pacchetto. Per altre informazioni, vedere il problema 2382 su GitHub.
  • È stato risolto un problema che causava il blocco dell'app durante l'ottimizzazione dell'applicazione con input penna.

Funzionalità nuove e aggiornate e problemi noti per la versione 1.1

Nelle sezioni seguenti vengono descritte le funzionalità nuove e aggiornate, le limitazioni e i problemi noti per 1.1.

Nota

Per gli sviluppatori C#, è necessaria una delle seguenti versioni di .NET SDK: 6.0.202, 6.0.104, 5.0.407, 5.0.213 (o versione successiva). Per aggiornare la versione di .NET SDK, visitare .NET Download o aggiornare la versione più recente di Visual Studio. 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 WinRT.Runtime.dll versione 1.6 o successiva".

Ciclo di vita & riavvio dell'app

Le app sono ora in grado di avviare un riavvio esplicito con argomenti specifici & lo stato sulla base del RegisterApplicationRestart per la registrazione con il sistema operativo da riavviare in scenari di aggiornamento, blocco & riavvio.

Nuove funzionalità:

  • Qualsiasi app desktop in pacchetto o non in pacchetto può terminare e riavviarsi al comando e avere accesso a una stringa della riga di comando arbitraria per l'istanza riavviata usando l'API AppInstance.Restart() .
    • Si tratta di una versione lifted e sincrona dell'API UWP RequestRestartAsync() che consente il riavvio con argomenti e restituisce un AppRestartFailureReason se il riavvio non riesce.
    • Per informazioni sull'utilizzo e sulle informazioni di riferimento, vedere la documentazione sull'API di riavvio in GitHub.

WinUI 3

WinUI 3 è un framework di esperienza utente nativa per Windows App SDK. Questa versione include nuove funzionalità di WinAppSDK 1.0 e diversi miglioramenti della stabilità delle versioni di anteprima 1.0 & 1.1.

Nuove funzionalità:

Bug risolti:

  • Correzione del problema relativo all'uso di Mica per cui l'app si arresta in modo anomalo quando una finestra è divisa equamente per due schermate. Per altre informazioni, vedere il problema 7079 su GitHub.
  • È stato risolto un problema che causava l'arresto anomalo delle app C# con WebView2 all'avvio quando il runtime C/C++ (CRT) non è installato aggiornando WebView2 SDK da 1020.46 a 1185.39.
  • È stato risolto un problema che creava alcuni arrotondamenti degli angoli per mostrare una sfumatura quando dovrebbero presentare un colore a tinta unita. Per ottenere altre informazioni, vedere problema 6076 & problema 6194 su GitHub.
  • È stato risolto un problema per cui gli stili aggiornati mancavano da generic.xaml.
  • Correzione del problema del ciclo di layout che causa l'arresto anomalo di un'app durante lo scorrimento fino al termine di un controllo ListView. Per altre informazioni, vedere il problema 6218 su GitHub.
  • È stato risolto un problema per cui gli utenti non sono in grado di rilasciare un elemento quando è abilitato il trascinamento della selezione. Per altre informazioni, vedere il problema 7008 su GitHub.

Limitazioni note:

  • Quando si usa una barra del titolo personalizzata, i controlli didascalia non cambiano colore in caso di modifica del tema.
  • XAML si arresta in modo anomalo quando un utente chiude una finestra mentre è aperta una finestra.

Distribuzione

Nuove funzionalità:

Limitazioni note:

  • L'esecuzione del programma di installazione di Windows App Runtime (WindowsAppRuntimeInstall.exe) richiede l'abilitazione del trasferimento locale. Vedere il problema 2469 su GitHub per ulteriori informazioni.
  • La creazione di un pacchetto MSIX tramite i menu progetto di Visual Studio può arrestare Visual Studio in alcuni scenari. Questo problema verrà risolto in Visual Studio versione 17.3 Preview 2 e per la manutenzione a 17.2. Se si verifica questo problema, è possibile risolvere il problema generando un file MSIX dalla riga di comando, passando a un progetto non incluso nel pacchetto o ripristinando Windows App SDK 1.0.
  • Le applicazioni autonome in pacchetto con MSIX non sono supportate nel 1809 causando un arresto anomalo dell'app all'avvio.

Elevazione

Le app sono ora in grado di essere eseguite con privilegi elevati.

Limitazioni note:

Gestione delle variabili di ambiente

Gestione variabili di ambiente è una nuova API introdotta in Windows App SDK 1.1. Gestione variabili di ambiente consente agli sviluppatori di accedere e modificare le variabili di ambiente nell'ambito di processo, utente e computer da un'unica superficie API.

Se Gestione variabili di ambiente viene usato da un'applicazione in pacchetto, vengono registrate tutte le operazioni delle variabili di ambiente. Quando il pacchetto viene rimosso, vengono ripristinate tutte le operazioni sulle variabili di ambiente.

Nuove funzionalità:

  • Ottenere e impostare le variabili di ambiente nell'ambito del processo, dell'utente e del computer.
  • La variabile di ambiente automatica viene ripristinata quando viene rimosso un pacchetto che usa una gestione variabili di ambiente.
  • Include API specifiche per PATH e PATHEXT.

Limitazioni note:

  • Solo disponibile in Windows 11

MRT Core

MRT Core è una versione semplificata del moderno Sistema di gestione delle risorse di Windows che viene distribuito come parte di Windows App SDK.

Problemi risolti:

  • Un problema che causa l'indicizzazione delle risorse per impostazione predefinita quando viene aggiunto un file di risorse tramite l'interfaccia utente di Visual Studio è stato risolto in .NET SDK 6.0.300. Se si usa una versione precedente di .NET SDK, continuare a usare la soluzione alternativa documentata nelle note sulla versione 1.0. Vedere il problema 1786 su GitHub per ulteriori informazioni.
  • È stato risolto un problema che causava la mancata compilazione corretta dell'URI della risorsa nelle app WinUI 3 C++ non in pacchetto in Visual Studio 2022 17.2. Se si usa una versione precedente di Visual Studio, aggiornare Visual Studio alla versione 17.2 per ricevere questa correzione.

Limitazioni note:

  • Nei progetti .NET i file di risorse copiati nella cartella del progetto non vengono indicizzati in F5 se l'app è già stata compilata. Come soluzione alternativa, ricompilare l'app. Per altre informazioni, vedere il problema 1503 su GitHub.

Per altre informazioni, vedere Gestire le risorse con MRT Core.

Notifications

Gli sviluppatori di app incluse nel pacchetto (inclusi quelli con posizione esterna) e le app non incluse nel pacchetto possono ora inviare notifiche di Windows.

Nuove funzionalità:

  • Supporto per le notifiche app incluse nel pacchetto e non incluse nel pacchetto.
    • Gli sviluppatori possono inviare notifiche dell'app, note anche come notifiche di tipo avviso popup, localmente o dal proprio servizio cloud. Consultare Panoramica delle notifiche dell'app.
  • Supporto per le notifiche push per le app incluse nel pacchetto e non incluse nel pacchetto.

Limitazioni note:

  • L'invio di notifiche da un'app con privilegi elevati non è supportato. PushNotificationManager::IsSupported() non eseguirà un controllo per la modalità con privilegi elevati.

Windowing

Per semplificare l'accesso alla programmazione alle funzionalità implementate in USER32.dll (vedi Windows e messaggi), questa versione presenta più funzionalità in AppWindow sé.

Nuove funzionalità:

  • Le app con finestre esistenti hanno un maggiore controllo sulla modalità di visualizzazione di una finestra richiamando AppWindow.ShowOnceWithRequestedStartupState, ovvero l'equivalente di ShowWindow(SW_SHOWDEFAULT).
  • Le app possono visualizzare, ridurre al minimo o ripristinare una finestra specificando se la finestra deve essere attivata o meno al momento dell'esecuzione della chiamata.
  • Le app possono a questo punto determinare dimensioni specifiche per le misure dell'area client della finestra nelle coordinate Win32 senza dover calcolare il ridimensionamento dell'area non client per ottenere una dimensione specifica dell'area client.
  • Sono disponibili API WinRT aggiuntive per supportare la gestione degli ordini z delle finestre basate sulla funzionalità SetWindowPos’s hWndInsertAfter.
  • Le app che disegnano barre del titolo personalizzate con AppWindowTitleBar.ExtendsContentIntoTitleBar possono impostare un'opzione PreferredTitleBarHeight. È a quel punto possibile scegliere tra una barra del titolo di altezza standard o una barra del titolo alta che offre più spazio per il contenuto interattivo. Vedere Barra del titolo nelle linee guida per la progettazione fluente in modo da avere consigli su quando usare una barra del titolo alta.

Problemi risolti:

  • Quando il relatore a schermo intero viene richiamato per la prima volta, la finestra ora si adatta correttamente all'intera schermata. Per altre informazioni, vedere il problema 1853 su GitHub.
  • Windows creato con ha AppWindow::GetFromWindowId come OverlappedPresenter relatore predefinito, ma non presenta restrizioni in termini di modifiche agli stili delle finestre provenienti da altre API. Windows creato con AppWindow::Create avrà le protezioni predefinite del relatore sin dall'inizio. Per altre informazioni, vedere il problema 2049 su GitHub.
  • L'uso dell'API OverlappedPresenter.SetBorderAndTitlebar per nascondere pulsanti e bordi didascalia genera un bordo superiore di 1px quando viene ingrandito. Il problema è stato risolto. Per altre informazioni, vedere il problema 1693 su GitHub.

Limitazioni note:

  • Quando si usa l'API AppWindowTitlebar per personalizzare i colori della barra del titolo standard, l'icona e il testo non sono allineati rispetto alla barra del titolo standard. Per altre informazioni, vedere il problema 2459 su GitHub.

  • Quando si risolve il problema 2049 di GitHub (visto sopra), è stato introdotto il bug seguente: se si applica un AppWindowPresenter a un AppWindow recuperato da GetFromWindowId, modificare uno stile di finestra rilevato da tale relatore tramite la chiamata di USER32 API e quindi provare a ripristinare lo stato precedente della finestra riapplicando il relatore predefinito Se si fa affidamento su qualsiasi relatore nell'app e si usano chiamate a USER32 per modificare gli stili di finestra al momento dell'applicazione di un relatore non predefinito, potrebbe essere necessario aggiungere una soluzione alternativa per garantire il comportamento corretto della finestra fino a quando non viene eseguito il servizio di questo bug. È possibile usare il frammento di codice seguente come modello per risolvere il problema:

    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

I componenti Windows Runtime C#, inclusi i controlli personalizzati WinUI, sono ora supportati. Ciò consente agli autori di componenti di distribuire componenti di runtime creati da C#a qualsiasi linguaggio compatibile con WinRT (ad esempio, C++/WinRT). Per iniziare, vedere Procedura dettagliata: creazione di un componente C# con controlli WinUI 3 e utilizzo da un'app C++/WinRT che usa Windows App SDK e l'esempio in GitHub .

Altre limitazioni e problemi noti

  • Non è possibile compilare app che fanno riferimento a un pacchetto che dipende da WebView2 (come Microsoft.Identity.Client). Ciò dipende da file binari in conflitto in fase di compilazione. Vedere il problema 2492 su GitHub per ulteriori informazioni.
  • L'uso di dotnet build con un progetto di libreria di classi C# WinAppSDK potrebbe comportare un errore di compilazione "Impossibile caricare l'attività Microsoft.Build.Packaging.Pri.Tasks.ExpandPriContent". Per risolvere questo problema, impostare <EnableMsixTooling>true</EnableMsixTooling> nel file di progetto.
  • Nei modelli WinAppSDK predefiniti l'annotazione è MaxVersionTested="10.0.19041.0" mentre dovrebbe essere "10.0.22000.0". Per il supporto completo di alcune funzionalità, in particolare UnlockedDEHs, aggiornare MaxVersionTested a "10.0.22000.0" nel file di progetto.