Ultime note sulla versione del canale di anteprima per Windows App SDK

Importante

Il canale anteprima non è supportato per l'uso negli ambienti di produzione e le app che utilizzano i rilasci sperimentali non possono essere pubblicati nel Microsoft Store.

Il canale di anteprima include le versioni di Windows AppSDK con funzionalità del canale di anteprima nelle ultime fasi di sviluppo. Le versioni di anteprima non includono funzionalità sperimentali e API, ma potrebbero comunque essere soggette a modifiche di rilievo prima della prossima versione stabile.

Collegamenti importanti:

Archivio delle note sulla versione del canale di anteprima:

Versione 1.6 Preview 2 (1.6.0-preview2)

Questa è la versione più recente del canale di anteprima per la versione 1.6.

In un'app esistente SDK per app di Windows 1.5 (dal canale stabile) è possibile aggiornare il pacchetto Nuget alla versione 1.6.0-preview2 (vedere la sezione Aggiornare un pacchetto in Installare e gestire pacchetti in Visual Studio usando il Gestione pacchetti NuGet).

Per il runtime e l'MSIX aggiornati, vedere anche Download per il Windows App SDK.

Nuove funzionalità

Modifiche necessarie al progetto C# per la versione 1.6-preview2

Per questa versione sono necessarie anche le linee guida per il progetto C# della versione 1.6-preview1 .

Supporto di AOT nativo

1.6-preview2 include modifiche significative per l'aggiornamento alla versione rilasciata di Microsoft.Windows.CsWinRT versione 2.1.1 e rendere la compilazione più affidabile per la compilazione ahead-of-time nativa.

Aggiornamento dell'integrazione di Edge WebView2 SDK

Questa versione fa ora riferimento alla versione 1.0.2651.64 del Microsoft.Web.WebView2 pacchetto, che dovrebbe risolvere i problemi riscontrati con la versione non definitiva a cui si fa riferimento nella versione 1.6-preview1. Come indicato nella versione 1.6-preview1, le app sono ora in grado di scegliere una versione più recente del Microsoft.Web.WebView2 pacchetto, se necessario.

Correzioni di bug

1.6-preview2 contiene le nuove correzioni seguenti dalla versione 1.6-preview1:

  • Correzione di un arresto anomalo durante l'impostazione InfoBar.IsOpen in .xaml. Per altre informazioni, vedere Problema di GitHub #8391.
  • È stato risolto un problema per cui gli elementi HTML perdevano l'acquisizione del puntatore quando il mouse si spostava all'esterno WebView2 dei limiti. Per altre informazioni, vedere Problema di GitHub #8677.
  • È stato risolto un problema per cui il trascinamento della selezione in un riquadro a comparsa con ShouldConstrainToRootBounds=false non funzionava. Per altre informazioni, vedere Problema di GitHub #9276.
  • È stato risolto un problema per cui ms-appx:// i riferimenti non funzionavano quando PublishSingleFile è abilitato. Per altre informazioni, vedere Problema di GitHub #9468.
  • È stato risolto un problema per cui i simboli del debugger non funzionavano correttamente per alcuni file binari. Per altre informazioni, vedere Problema di GitHub #4633.
  • Correzione di un'interruzione di compilazione quando si usa /permissive-. Per altre informazioni, vedere Problema di GitHub #4643.
  • Correzione di un paio di modifiche di rilievo dell'API nella versione 1.6-preview1 causate da parametri rinominati. Per altre informazioni, vedere Problema di GitHub #4645.
  • Correzione delle interruzioni di compilazione dei conflitti di tipo colpite da alcuni progetti nella versione 1.6-preview1, in particolare con Windows.UI.Text i tipi. Per altre informazioni, vedere Problema di GitHub #4646.
  • È stato risolto un problema relativo alle ricerche delle risorse dalle librerie di controllo nella versione 1.6-preview1. Per altre informazioni, vedere Problema di GitHub #4649.
  • Correzione di un potenziale arresto anomalo durante la sottoclasse NavigationViewdi .
  • È stato risolto un problema per cui i bordi della tabella in un RichEditBox oggetto non cancellavano correttamente durante lo scorrimento o la riduzione delle dimensioni della tabella.
  • È stato risolto un problema a causa del quale i riquadri a comparsa da MediaTransportControls avevano uno sfondo completamente trasparente.
  • È stato risolto un problema a causa del quale il trascinamento in un controllo WebView2 non riesce o scende nella posizione errata nei fattori di scala visualizzati diversi dal 100% o quando è abilitata la scalabilità del testo di sistema.
  • È stato risolto un problema per cui TextBox/RichEditBox non veniva annunciato agli strumenti di accessibilità quando l'input è bloccato a causa del MaxLength limite.

Versione 1.6 Preview 1 (1.6.0-preview1)

Questa è la versione più recente del canale di anteprima per la versione 1.6.

In un'app esistente SDK per app di Windows 1.5 (dal canale stabile) è possibile aggiornare il pacchetto Nuget alla versione 1.6.0-preview1 (vedere la sezione Aggiornare un pacchetto in Installare e gestire pacchetti in Visual Studio usando il Gestione pacchetti NuGet).

Per il runtime e l'MSIX aggiornati, vedere anche Download per il Windows App SDK.

Nuove funzionalità

Nota

Il nuovo controllo TitleBar rilasciato nella versione 1.6-experimental1 non è ancora disponibile nelle build non sperimentali della versione 1.6 per consentire più tempo per valutare e rispondere ai feedback della community. Abbiamo ricevuto un sacco di grande input qui e vogliamo assicurarsi di prendere il tempo necessario per risolverlo.

Modifiche necessarie al progetto C# per la versione 1.6-preview1

Nella versione 1.6-preview1, SDK per app di Windows le app gestite richiedono Microsoft.Windows.SDK.NET.Ref*.*.*.38, che può essere specificato tramite WindowsSdkPackageVersion nel csproj file. Ad esempio:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Inoltre, SDK per app di Windows le app gestite devono essere aggiornate a Microsoft.Windows.CsWinRT 2.1.1 (o versione successiva).

Supporto di AOT nativo

La proprietà del progetto .NET PublishAot è ora supportata per la compilazione ahead-of-time nativa. Per informazioni dettagliate su AOT nativo, vedere Distribuzione AOT nativa. Poiché AOT si basa sul supporto trimming, si applica anche gran parte delle linee guida correlate a Trimming descritte in precedenza nella versione 1.6-experimental1. Per altre informazioni, vedi Supporto AOT nativo.

Come indicato in precedenza, i progetti C# devono avere un riferimento al pacchetto Microsoft.Windows.CsWinRT 2.1.1 (o versione successiva). Questa versione include un'implementazione sicura ICustomPropertyProvider AOT. I tipi usati con questo supporto devono essere contrassegnati con l'attributo WinRT.GeneratedBindableCustomProperty insieme a .partial

Integrazione di Edge WebView2 SDK

Il SDK per app di Windows ora usa Edge WebView2 SDK come riferimento NuGet anziché incorporare una versione hardcoded di Edge WebView2 SDK. Il nuovo modello consente alle app di scegliere una versione più recente del Microsoft.Web.WebView2 pacchetto invece di essere limitata alla versione con cui è stata compilata la SDK per app di Windows. Il nuovo modello consente anche alle app di fare riferimento a pacchetti NuGet che fanno riferimento anche a Edge WebView2 SDK. Per altre informazioni, vedere Problema di GitHub #5689.

Nuove API di distribuzione dei pacchetti

L'API Di gestione pacchetti ha ricevuto diversi miglioramenti, tra cui Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() e diverse correzioni di bug. Per altri dettagli, vedere PackageManagement.md e richiesta pull #4453 .

TabView con tabulazione migliorata

TabView supporta una nuova CanTearOutTabs modalità che offre un'esperienza avanzata per il trascinamento delle schede e il trascinamento in una nuova finestra. Quando questa nuova opzione è abilitata, il trascinamento delle schede è molto simile all'esperienza di trascinamento della scheda in Edge e Chrome in cui viene creata immediatamente una nuova finestra durante il trascinamento, consentendo all'utente di trascinarlo sul bordo dello schermo per ingrandire o bloccare la finestra in un movimento uniforme. Questa implementazione non usa anche le API di trascinamento della selezione, quindi non è interessata da alcuna limitazione in tali API. In particolare, lo strappo tramite tabulazione è supportato nei processi in esecuzione con privilegi elevati come amministratore.

Altre modifiche rilevanti

  • È stata aggiunta una nuova ColorHelper.ToDisplayName() API, riempiendo tale gap dalla piattaforma UWP.
  • Aggiunta di una nuova Microsoft.Windows.Globalization.ApplicationLanguages classe, che include in particolare una nuova PrimaryLanguageOverride funzionalità. Per altre informazioni, vedere Problema di GitHub #4523.
  • Non bloccato ItemsWrapGrid. Dovrebbe trattarsi di una modifica compatibile con le versioni precedenti.
  • PipsPager supporta una nuova modalità in cui può essere eseguito il wrapping tra i primi e gli elementi dell'elenco.
  • RatingControl è ora più personalizzabile, spostando alcune proprietà di stile hardcoded alle risorse del tema. Ciò consente alle app di eseguire l'override di questi valori per personalizzare meglio l'aspetto di RatingControl.

Problemi noti

  • Se il debugger è impostato per l'interruzione in tutte le eccezioni C++, verrà interrotto in una coppia di eccezioni rumorose all'avvio nel codice BCP47 (Globalizzazione di Windows).

Correzioni di bug

  • Sono stati risolti alcuni problemi relativi alla gestione degli scenari della barra del titolo personalizzati. Per altre informazioni, vedere Problemi di GitHub #7629, #9670, #9709 e #8431.
  • È stato risolto un problema per cui InfoBadge l'icona non era visibile. Per altre informazioni, vedere Problema di GitHub #8176.
  • È stato risolto un problema relativo alle icone che talvolta mostravano nella posizione errata in CommandBarFlyout. Per altre informazioni, vedere il problema 9409 su GitHub.
  • È stato risolto un problema relativo allo stato attivo della tastiera nei menu durante l'apertura o la chiusura di un sottomenu. Per altre informazioni, vedere Problema di GitHub #9519.
  • È stato risolto un problema relativo all'uso TreeView dello stato non corretto IsExpanded durante il riciclo degli elementi. Per altre informazioni, vedere Problema di GitHub #9549.
  • È stato risolto un problema quando si usa un'associazione ElementName in un oggetto ItemsRepeater.ItemTemplate. Per altre informazioni, vedere Problema di GitHub n. 9715.
  • È stato risolto un problema relativo al primo elemento in una ItemsRepeater posizione talvolta non corretta. Per altre informazioni, vedere Problema di GitHub #9743.
  • È stato risolto un problema relativo InputNonClientPointerSource all'interruzione dell'input ai pulsanti min/max/close. Per altre informazioni, vedere Problema di GitHub #9749.
  • Correzione di un errore di compilazione quando si usa Microsoft.UI.Interop.h con clang-cl. Per altre informazioni, vedere Problema di GitHub #9771.
  • È stato risolto un problema per cui l'evento CharacterReceived non funzionava in/ComboBoxTextBox . Per altre informazioni, vedere Problema di GitHub #9786.
  • È stato risolto il problema nelle build sperimentali 1.6 in cui il comportamento di input del puntatore per CanTearOutTabs era errato nei monitor con fattore di scala diverso dal 100%. Per altre informazioni, vedere Problema di GitHub #9791.
  • Risolto il problema nella build 1.6-experimental2 in cui alcune traduzioni della lingua presentavano problemi di codifica dei caratteri per ColorHelper.ToDisplayName().
  • È stato risolto un problema della versione 1.6-experimental1 in cui NumberBox non usava i colori di primo piano e di sfondo corretti. Per altre informazioni, vedere Problema di GitHub #9714.
  • È stato risolto un problema per cui venivano generati eventi duplicati KeyUp per i tasti freccia e tabulazione. Per altre informazioni, vedere Problema di GitHub #9399.
  • È stato risolto un problema per cui l'evento PowerManager.SystemSuspendStatusChanged non è riuscito a ottenere .SystemSuspendStatus Per altre informazioni, vedere Problema di GitHub #2833.
  • È stato risolto un problema per cui lo stato attivo iniziale della tastiera non veniva assegnato correttamente a quando WebView2 era l'unico controllo nella finestra.
  • È stato risolto un problema quando si usavano ExtendsContentIntoTitleBar=true i pulsanti Min/Max/Close non visualizzati correttamente nella Automazione interfaccia utente, che impediva all'accesso vocale di visualizzare i numeri per tali pulsanti.
  • È stato risolto un problema per cui un'app potrebbe arrestarsi in modo anomalo in un controllo di blocco a causa di una reentrancy imprevista.
  • È stato risolto un problema per cui Hyperlink i colori non vengono aggiornati correttamente quando si passa a un tema a contrasto elevato.
  • È stato risolto un problema per cui la modifica della raccolta di un ListView oggetto in una finestra di sfondo potrebbe spostare erroneamente tale finestra in primo piano e attivare lo stato attivo.
  • È stato risolto un problema dalla versione 1.6-experimental1 per cui l'impostazione AcrylicBrush.TintLuminosityOpacity in .xaml in un progetto di libreria di classi si arrestava in modo anomalo con un errore di conversione del tipo.
  • È stato risolto un problema per cui a volte la chiamata ItemsRepeater.StartBringIntoView poteva causare la scomparsa degli elementi.
  • È stato risolto un problema a causa del quale il tocco e il trascinamento di un Button oggetto in uno ScrollViewer stato premuto lo lasciavano.
  • Aggiornamento di IntelliSense, che mancava informazioni per molti tipi e membri più recenti.
  • È stato risolto un problema per cui facendo clic in un'area vuota di un oggetto ScrollViewer si spostava sempre lo stato attivo sul primo controllo attivabile nel ScrollViewer controllo e scorreva il controllo nella visualizzazione. Per altre informazioni, vedere Problema di GitHub #597.
  • È stato risolto un problema a causa del quale l'evento Window.Activated talvolta è stato generato più volte. Per altre informazioni, vedere Problema di GitHub n. 7343.
  • È stato risolto un problema per cui l'impostazione della NavigationViewItem.IsSelected proprietà su true impediva la visualizzazione degli elementi figlio quando viene espansa. Per altre informazioni, vedere Problema di GitHub #7930.
  • È stato risolto un problema per cui MediaPlayerElement non venivano visualizzate correttamente le didascalie con None effetti bordo o DropShadow . Per altre informazioni, vedere Problema di GitHub #7981.
  • È stato risolto un problema per cui la Flyout.ShowMode proprietà non veniva usata durante la visualizzazione del riquadro a comparsa. Per altre informazioni, vedere Problema di GitHub #7987.
  • È stato risolto un problema per cui NumberBox a volte si verificavano errori di arrotondamento. Per altre informazioni, vedere Problema di GitHub #8780.
  • È stato risolto un problema per cui l'uso di una libreria compilata rispetto a una versione precedente di WinAppSDK poteva riscontrare un errore durante il tentativo di trovare un tipo o una proprietà. Per altre informazioni, vedere Problema di GitHub #8810.
  • È stato risolto un problema per cui lo stato attivo iniziale della tastiera non veniva impostato all'avvio di una finestra. Per altre informazioni, vedere Problema di GitHub #8816.
  • È stato risolto un problema per cui FlyoutShowMode.TransientWithDismissOnPointerMoveAway non funzionava dopo la prima volta che è stato visualizzato. Per altre informazioni, vedere Problema di GitHub #8896.
  • È stato risolto un problema per cui alcuni controlli non associavano Foreground correttamente i modelli e Background le proprietà. Per altre informazioni, vedere Problema di GitHub #7070, #9020, #9029, #9083 e #9102.
  • È stato risolto un problema per cui ThemeResourcei setter usati nei VisualStateManager setter non venivano aggiornati in caso di modifica del tema. Questi controlli comunemente interessati nei riquadri a comparsa. Per altre informazioni, vedere Problema di GitHub n. 9198.
  • È stato risolto un problema per cui WebView perdeva lo stato attivo chiave, causando eventi di sfocatura o messa a fuoco aggiuntivi e altri problemi. Per altre informazioni, vedere Problema di GitHub #9288.
  • È stato risolto un problema per cui NavigationView poteva essere visualizzato un errore di associazione nell'output di debug. Per altre informazioni, vedere Problema di GitHub #9384.
  • È stato risolto un problema per cui i file SVG che definiscono una casella di visualizzazione negativa non più sottoposto a rendering. Per altre informazioni, vedere Problema di GitHub n. 9415.
  • È stato risolto un problema per cui la modifica ItemsView.Layout dell'orientamento causava la rimozione di un elemento. Per altre informazioni, vedere Problema di GitHub n. 9422.
  • È stato risolto un problema per cui lo scorrimento di un ScrollView output di debug generato era elevato. Per altre informazioni, vedere Problema di GitHub n. 9434.
  • È stato risolto un problema per cui MapContorl.InteractiveControlsVisible non funzionava correttamente. Per altre informazioni, vedere Problema di GitHub #9486.
  • È stato risolto un problema per cui MapControl.MapElementClick l'evento non veniva generato correttamente. Per altre informazioni, vedere Problema di GitHub #9487.
  • È stato risolto un problema per cui x:Bind non controllava la presenza di null prima di usare un riferimento debole, che poteva causare un arresto anomalo. Per altre informazioni, vedere Problema di GitHub #9551.
  • È stato risolto un problema per cui la modifica della proprietà non aggiornava correttamente la TeachingTip.Target posizione. Per altre informazioni, vedere Problema di GitHub #9553.
  • È stato risolto un problema per cui gli elenchi a discesa non rispondevano in WebView2. Per altre informazioni, vedere Problema di GitHub n. 9566.
  • Correzione di una perdita di memoria quando si usa GeometryGroup. Per altre informazioni, vedere Problema di GitHub #9578.
  • È stato risolto un problema per cui lo scorrimento di un numero molto elevato di elementi da un ItemRepeater oggetto in poteva ScrollView causare frame di rendering vuoti. Per altre informazioni, vedere Problema di GitHub #9643.
  • È stato risolto un problema per cui SceneVisual non funzionava.

Nuove API nella versione 1.6.0-preview1

La versione 1.6-preview1 include le nuove API seguenti rispetto alla versione stabile 1.5:

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers

    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage

    ApplicationData
    ApplicationDataContainer
    ApplicationDataContract
    ApplicationDataCreateDisposition
    ApplicationDataLocality