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:
- 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.
- Per la documentazione sulle versioni di anteprima, vedere Installazione degli strumenti per i canali di anteprima e sperimentali di Windows App SDK.
Archivio delle note sulla versione del canale di anteprima:
- Note sulla versione del canale di anteprima per il SDK per app di Windows 1.5
- Note sulla versione del canale di anteprima per Windows App SDK 1.4
- Note sulla versione del canale di anteprima per Windows App SDK 1.3
- Note sulla versione del canale di anteprima per Windows App SDK 1.2
- Note sulla versione del canale di anteprima per il SDK per app di Windows 1.1
- Note sulla versione del canale di anteprima per Windows App SDK 1.0
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 quandoPublishSingleFile
è 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
NavigationView
di . - È 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 delMaxLength
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 nuovaPrimaryLanguageOverride
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 correttoIsExpanded
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/ComboBox
TextBox
. 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 unoScrollViewer
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 nelScrollViewer
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à sutrue
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 conNone
effetti bordo oDropShadow
. 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 eBackground
le proprietà. Per altre informazioni, vedere Problema di GitHub #7070, #9020, #9029, #9083 e #9102. - È stato risolto un problema per cui
ThemeResource
i setter usati neiVisualStateManager
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 potevaScrollView
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