Sdílet prostřednictvím


Poznámky k vydání preview kanálu pro verzi Windows App SDK 1.0

Důležité

Kanál Preview je nepodporuje pro použití v produkčních prostředích a aplikace, které používají vydané verze Preview, se nedají publikovat do Microsoft Storu.

Kanál Preview obsahuje verze sady Windows App SDK s funkcemi kanálu Preview v pozdních fázích vývoje. Verze Preview nezahrnují experimentální funkce a rozhraní API, ale mohou být stále předmětem zásadních změn před příští stabilní verzí.

důležité odkazy:

Nejnovější verze kanálu Preview:

Nejnovější stabilní verze kanálu:

Verze 1.0 Preview 3 (1.0.0-preview3)

Preview 3 je nejnovější verze kanálu Preview verze 1.0 sady Windows App SDK. Preview 3 podporuje všechny funkce kanálu Preview.

Stáhnout rozšíření sady Visual Studio 1.0 Preview 3 (VSIX)

Poznámka:

Pokud už máte nainstalovaná rozšíření sady Visual Studio sady Windows App SDK (VSIX), odinstalujte je před instalací nové verze. Pokyny najdete v tématu Správa rozšíření pro Visual Studio.

V následující tabulce si můžete stáhnout rozšíření sady Visual Studio (VSIX) pro verzi 1.0 Preview 3. Všechny verze najdete v tématu Nejnovější soubory ke stažení sady Windows App SDK. Pokud jste to ještě neudělali, začněte tím, že nakonfigurujete své vývojové prostředí, a to pomocí kroků uvedených v části Nainstalujte nástroje pro sadu Windows App SDK.

Níže uvedená rozšíření jsou přizpůsobená pro váš programovací jazyk a verzi sady Visual Studio.

1.0 Preview 3 ke stažení Popis
Rozšíření C# pro Visual Studio 2019 Vytvářejte aplikace v jazyce C# pomocí rozšíření Visual Studio 2019 sady Windows App SDK.
rozšíření C++ Visual Studio 2019 Vytvářejte aplikace jazyka C++ pomocí rozšíření Visual Studio 2019 sady Windows App SDK.
Rozšíření Visual Studio 2022 pro C# Vytvářejte aplikace v jazyce C# pomocí rozšíření Visual Studio 2022 sady Windows App SDK.
rozšíření Visual Studio 2022 pro C++ Vytvářejte aplikace jazyka C++ pomocí rozšíření Visual Studio 2022 sady Windows App SDK.
Instalační .exe program a balíčky MSIX Nasazení Windows App SDK pro vaši aplikaci pomocí instalačního .exe programu a balíčků MSIX.

Následující části popisují nové a aktualizované funkce, omezení a známé problémy pro verzi 1.0 Preview 3.

WinUI 3 (1.0.0-preview3)

Teď podporujeme nasazení aplikací WinUI 3 bez balení MSIX. Viz Vytvoření prvního projektu WinUI 3 (Windows App SDK) pro konfiguraci aplikace WinUI 3 pro podporu rozbaleného nasazení.

Důležitá omezení:

  • Rozbalené aplikace WinUI 3 jsou podporovány pouze ve verzích Windows 1909 a novějších.
  • Rozbalené aplikace WinUI 3 jsou podporovány na platformě x86 a x64; Podpora arm64 bude přidána v příští stabilní verzi.
  • MSIX Packaging Tools pro jeden projekt pro Visual Studio 2019 nebo Visual Studio 2022 jsou vyžadovány pro nebalené aplikace.
  • V rozbalené aplikaci se může zobrazit výzva k instalaci rozhraní .NET 3.5; pokud ano, můžete ho ignorovat.
  • V rozbalených aplikacích se v současné době nepodporují některá rozhraní API. Snažíme se to opravit v příští stabilní verzi. Několik příkladů:
  • Ovládací prvky ListView, CalendarView a GridView používají nesprávné styly a snažíme se to opravit v příští stabilní verzi.

Pro více informací, nebo jak začít s vývojem pomocí WinUI 3, najdete na:

Další omezení a známé problémy:

  • Rozbalené aplikace nejsou ve Windows 10 verze 1809 podporované. Snažíme se to opravit v příští verzi ve stabilním kanálu.

  • C# aplikace MSIX s jedním projektem se nekompiluje, pokud nejsou nainstalované nástroje C++ pro UWP. Pokud máte jednoprojektový projekt MSIX v jazyce C#, budete muset nainstalovat volitelnou komponentu C++ (v14x) Universal Windows Platform Tools.

  • Tato verze představuje šablony projektů pro „Prázdnou aplikaci, zabalenou“ (WinUI 3 na desktopu) pro C# a C++. Tyto šablony umožňují sestavit aplikaci do balíčku MSIX bez použití samostatného projektu balení (viz Balíček aplikace pomocí MSIX s jedním projektem). Tyto šablony obsahují některé známé problémy v této verzi:

    • Chybí položka nabídky Publikovat, dokud nerestartujete Visual Studio. Při vytváření nové aplikace v programu Visual Studio 2019 a Visual Studio 2022 pomocí šablony projektu prázdná aplikace, zabalená (WinUI 3 na ploše), se příkaz k publikování projektu nezobrazí v nabídce, dokud Visual Studio nezavřete a znovu neotevřete.

    • Při přidávání odkazů na projekt statické nebo dynamické knihovny C++ do aplikací C++ pomocí balíčku MSIX s jedním projektem došlo k chybě. Visual Studio zobrazí chybu, že projekt nejde přidat jako odkaz, protože typy projektů nejsou kompatibilní.

    • Chyba při odkazování na vlastní uživatelský ovládací prvek v projektu knihovny tříd. Aplikace se ukončí s chybou, že systém nemůže najít zadanou cestu.

    • šablony C# nebo C++ pro Visual Studio 2019. Při pokusu o sestavení projektu se zobrazí chyba: "Projekt neví, jak spustit profil název projektu". Chcete-li tento problém vyřešit, nainstalujte rozšíření MSIX Packaging Tools pro jeden projekt .

    • Šablona jazyka C# pro Visual Studio 2019 a Visual Studio 2022 Když ve Visual Studio spustíte ladění nebo spustíte bez ladění, a pokud se vaše aplikace nenasadí a nespustí (a Visual Studio neposkytuje žádnou zpětnou vazbu), klikněte na uzel projektu v Průzkumníku řešení, abyste jej vybrali, a zkuste to znovu.

    • Šablona jazyka C# pro Visual Studio 2019 a Visual Studio 2022 Při pokusu o spuštění nebo ladění projektu ve vývojovém počítači dojde k následující chybě: Projekt je potřeba nasadit, než budeme moct ladit. Povolte nasazení v nástroji Configuration Manager. Pokud chcete tento problém vyřešit, povolte nasazení projektu v Configuration Manageru. Podrobné pokyny najdete v tématu Vytvoření prvního projektu WinUI 3 (Windows App SDK).

    • šablona C++ pro Visual Studio 2022 verze 17.0 vydané až do verze Preview 4. Při prvním pokusu o spuštění projektu se zobrazí následující chyba: Došlo k chybám nasazení. Pokud chcete tento problém vyřešit, spusťte nebo nasaďte projekt podruhé. Tento problém bude opraven ve Visual Studio 2022 verze 17.0 Preview 7.

  • Žádná podpora pro konfiguraci sestavení Any CPU: Při přidání sady Windows App SDK do existující aplikace nebo komponenty .NET, která podporuje Any CPU, je nutné určit požadovanou architekturu: x86, x64 nebo arm64.

  • Projekty jazyka C# používající verzi 1.0 Preview 3 musí používat následující sadu .NET SDK: .NET 6 SDK nebo novější (viz Stažení .NET a .NET 5 bude ukončena podpora 10. května 2022).

  • Alternativou k DispatcherQueue.TryEnqueue (pro obnovení provádění ve vlákně dispečerské fronty) je použití pomocné funkce resume_foreground v Windows Implementation Library (WIL):

    1. Přidejte odkaz na projekt do balíčku NuGet Microsoft.Windows.ImplementationLibrary .
    2. Přidejte do #include <wil/cppwinrt_helpers.h>pch.h.
    3. Přidejte do #include <winrt/Microsoft.UI.Dispatching.h>pch.h.
    4. Teď co_await wil::resume_foreground(your_dispatcherqueue);.

Důležitý problém ovlivňující verzi 1.0 Preview 1 a Preview 2

Verze 1.0 Preview 1 a Preview 2 sady Windows App SDK obsahuje mechanismus pro vyčištění všech změn proměnných prostředí provedených zabalenou aplikací při odinstalaci této aplikace. Tato funkce je v experimentálním stavu a první verze obsahuje známou chybu, která může poškodit systémovou proměnnou prostředí PATH .

Verze Preview 1 a Preview 2 poškozují všechny proměnné prostředí PATH obsahující rozšiřující znak %. K tomu dochází vždy, když se odinstaluje jakákoli zabalená aplikace bez ohledu na to, jestli tato aplikace používá sadu Windows App SDK.

Viz také problém s poškozením proměnné prostředí PATH.

Podrobnosti

Položka systému PATH je uložena do Path hodnoty v následujícím klíči v registru systému Windows:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Pokud spustíte Editor registru (regedit.exe), můžete zkopírovat a vložit výše uvedenou cestu do řádku s popisem cesty (bezprostředně pod řádek nabídek) a stisknutím klávesy Enter klíč vyhledejte.

Hodnota Path tohoto klíče by měla být typu REG_EXPAND_SZ, ale chyba ji změní na REG_SZ. Tím se proměnná prostředí PATH stává nepoužitelnou, pokud obsahuje znak rozšíření proměnné %.

Ovlivněné verze

Zmírnění

Pokud chcete počítač vrátit do dobrého stavu, postupujte následovně:

  1. Zkontrolujte, jestli je cesta v registru poškozená, a pokud ano, resetujte ji spuštěním následujícího skriptu.

    Krok 1 můžete provést pomocí následujícího skriptu Windows PowerShellu (PowerShell Core nebude fungovat). Spusťte ho se zvýšenými oprávněními.

    # This script must be run from an elevated Windows PowerShell
    # window (right-click Windows PowerShell in the Start menu,
    # and select Run as Administrator).
    
    # If the PATH in the Registry has been set to REG_SZ, then delete
    # it, and recreate it as REG_EXPAND_SZ.
    
    $EnvPath = 'Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment'
    $Environment=Get-Item $EnvPath
    $PathKind = $Environment.GetValueKind('Path')
    
    if ($PathKind -ne 'ExpandString') {
      $Path = $Environment.GetValue('Path')
      Remove-ItemProperty $EnvPath -Name Path
      New-ItemProperty $EnvPath -Name Path -PropertyType ExpandString -Value $Path
    }
    
  2. Odinstalujte všechny aplikace, které používají sadu Windows App SDK 1.0 Preview1 nebo Preview2 (viz následující skript).

  3. Odinstalujte balíčky Windows App SDK 1.0 Preview1/Preview2, včetně balíčku, který obsahuje chybu (viz následující skript).

    Kroky 2 a 3 můžete provést pomocí následujícího skriptu Windows PowerShell (PowerShell Core zde nebude fungovat). Spusťte ho se zvýšenými oprávněními.

    # This script must be run from an elevated Windows PowerShell
    # window (right-click Windows PowerShell in the Start menu,
    # and select Run as Administrator).
    
    # Remove the Windows App SDK 1.0 Preview1/2, and all apps that use it.
    
    $winappsdk = "Microsoft.WindowsAppRuntime.1.0-preview*"
    Get-AppxPackage | Where-Object { $_.Dependencies -like $winappsdk } | Remove-AppxPackage
    Get-AppxPackage $winappsdk | Remove-AppxPackage
    

Oprava v sadě Windows App SDK 1.0 Preview 3

Funkce, která způsobuje poškození proměnné prostředí PATH , se odebere v nadcházející verzi Windows App SDK 1.0 Preview 3. Může se znovu zavést později, když byly opraveny a důkladně otestovány všechny chyby.

Doporučujeme používat verzi 1.0 Preview 3.

Verze 1.0 Preview 2 (1.0.0-preview2)

Důležité

Verze 1.0 Preview 1 a Preview 2 obsahují kritickou chybu. Pokud jste už nainstalovali některou z těchto verzí Preview, podívejte se, jak tento problém vyřešit. Doporučujeme místo toho použít verzi 1.0 Preview 3.

Toto je nejnovější verze kanálu Preview pro verzi 1.0. Podporuje všechny funkce kanálu preview.

Následující části popisují nové a aktualizované funkce, omezení a známé problémy v této verzi.

WinUI 3 (1.0.0-preview2)

Nové aktualizace:

  • Ovládací prvky byly aktualizovány tak, aby odrážely nejnovější styly Windows z WinUI 2.6.
  • Podpora pro MSIX s jedním projektem je zajištěna.
  • Balíček WinUI 3 teď může cílit na build 17763 a novější. Další informace najdete v problému č. 921.
  • Panel nástrojů v aplikaci je podporovaný. Podpora stávajícího panelu nástrojů v aplikaci, Hot Reload a živého vizuálního stromu však vyžaduje nadcházející verzi sady Visual Studio 17.0 Preview 5, která bude k dispozici později v říjnu.

Opravena chyba: Text WebView2Runtime je teď lokalizovaný.

Pro více informací nebo pokud chcete začít s vývojem pomocí WinUI 3, podívejte se sem:

Okna (1.0.0-preview2)

Tato verze zavádí aktualizace třídy AppWindow . V této verzi nejsou přidány žádné hlavní nové funkce, ale byly odebrány změny názvů metod, vlastností a některých návratových hodnot. Podrobné aktualizace najdete v dokumentaci a ukázkách. Pokud jste pracovali s AppWindow v experimentálních verzích 1.0 nebo 1.0 Preview 1, počítejte s některými změnami kódu.

Nové aktualizace:

  • Byla odebrána třída AppWindowConfiguration . Vlastnosti této třídy jsou nyní k dispozici v samotném AppWindow, nebo v třídách Presenter.
  • Většina vrácených hodnot bool pro metody rozhraní API WinRT v této oblasti byla odstraněna a tyto metody jsou nyní void, protože by byly vždy úspěšné.
  • Volání ImportDll v C# už nejsou potřeba pro GetWindowIdFromWindow a GetWindowFromWindowId. Místo toho použijte metody obálky .NET dostupné ve třídě Microsoft.UI.Win32Interop .

Důležitá omezení:

  • Sada Windows App SDK v současné době neposkytuje metody pro připojení obsahu architektury uživatelského rozhraní k AppWindow; jste omezeni na použití metod přístupu zprostředkovatele komunikace HWND.
  • Přizpůsobení záhlaví okna funguje jenom ve Windows 11. Pomocí metody IsCustomizationSupported zkontrolujte podporu funkcí přizpůsobení záhlaví. Tuto funkci chceme přenést na nižší úroveň.

Další informace najdete v tématu Správa oken aplikací (Windows App SDK).

Vstup (1.0.0-preview2)

Nové aktualizace:

  • Vylepšená podpora pro přesný vstup touchpadu.

Důležitá omezení:

  • Odebrali jsme všechny statické tovární funkce PointerPoint: GetCurrentPoint, GetCurrentPointTransformed, GetIntermediatePointsa GetIntermediatePointsTransformed.
  • Sada Windows App SDK nepodporuje načítání objektů PointerPoint s ID ukazatele. Místo toho můžete pomocí členské funkce PointerPointGetTransformedPoint načíst transformovanou verzi existujícího objektu PointerPoint . U přechodných bodů můžete použít členské funkce PointerEventArgsGetIntermediatePoints a GetTransformedIntermediatePoints. Další podrobnosti najdete v dokumentaci.

MRT Core (1.0.0-Preview2)

Nové aktualizace:

  • Vývojáři aplikací teď můžou v projektech .NET odhlásit soubor s obrázkem nebo soubor RESW z indexování v souboru PRI. Další informace najdete v problému 980.

Důležitá omezení:

  • V projektech .NET nejsou soubory prostředků, které byly vloženy do složky projektu (metodou kopírovat a vložit), indexovány po stisku F5, pokud už byla aplikace sestavena. Alternativním řešením je opětovné sestavení aplikace. Další informace najdete v problému 1503].
  • V projektech .NET se existující soubory prostředků přidané z externí složky neindexují bez ručního nastavení akce sestavení. Chcete-li tento problém vyřešit, nastavte akci sestavení ve Visual Studio: obsah pro obrazové soubory a PRIResource pro soubory typu RESW. Podívejte se na problém 1504 pro více informací.

Nasazení pro nerozbalené aplikace

Nové funkce:

  • Sada Windows App SDK 1.0 Preview 2 zavádí obálku .NET pro rozhraní API zaváděcího nástroje (viz Použití modulu runtime sady Windows App SDK pro aplikace zabalené s externím umístěním nebo rozbaleným). Rozhraní API bootstrapperu je sada nativních funkcí C/C++, které musí nepaketované aplikace používat k dynamickému převzetí závislosti na rámcovém balíčku Windows App SDK v době běhu. Obálka .NET poskytuje jednodušší způsob volání rozhraní API bootstrapperu z aplikací .NET, včetně aplikací Windows Forms a WPF. Obálka .NET pro rozhraní API bootstrapperu je k dispozici v sestavení Microsoft.WindowsAppRuntime.Bootstrap.Net.dll, které je místní pro váš projekt aplikace. Další informace o rozhraní .NET najdete v knihovně rozhraní .NET.
  • Zabalené aplikace teď můžou pomocí rozhraní API pro nasazení získat hlavní a singletonové balíčky MSIX nainstalované na počítači. Hlavní a singletonové balíčky jsou součástí balíčku architektury, který je nainstalován s aplikací, ale kvůli omezení modelu aplikace pro Windows budou zabalené aplikace muset provést tento další krok, aby se tyto balíčky nainstalovaly. Další informace o tom, jak funguje rozhraní API pro nasazení, najdete v průvodci nasazením sady Windows App SDK pro zabalené aplikace závislé na architektuře.

Důležitá omezení:

  • Obal .NET pro rozhraní API bootstrapperu je určen výhradně k použití nerozbalenými .NET aplikacemi k zjednodušení přístupu k Windows App SDK.
  • Pouze aplikace zabalené v MSIX, které mají plnou důvěru nebo mají omezené schopnosti packageManagement, mají oprávnění používat rozhraní API pro nasazování k instalaci hlavních a singletonových závislostí balíčků. Podpora balíčkovaných aplikací s částečnou úrovní důvěryhodnosti bude k dispozici v pozdějších verzích.
  • Když F5 testuje aplikaci x86, která používá metodu DeploymentManager.Initialize v systému x64, ujistěte se, že je architektura x64 nejprve nainstalována spuštěním WindowsAppRuntimeInstall.exe. V opačném případě dojde k chybě NOT_FOUND kvůli tomu, že Visual Studio nenasazuje x64 framework, který se obvykle vyskytuje prostřednictvím nasazení úložiště nebo postranního načítání.

Životní cyklus aplikace

Většina funkcí životního cyklu aplikací již existuje na platformě UPW a byla přenesena do sady Windows App SDK pro použití pomocí typů desktopových aplikací, zejména rozbalených konzolových aplikací, aplikací Win32, aplikací Windows Forms a aplikací WPF. Implementace sady Windows App SDK těchto funkcí se nedá použít v aplikacích pro UPW, protože v samotné platformě UPW existují ekvivalentní funkce.

Aplikace bez UPW lze také zabalit do balíčků MSIX. I když tyto aplikace můžou používat některé funkce životního cyklu aplikace sady Windows App SDK, musí používat přístup manifestu, pokud je tato možnost dostupná. Například nemohou používat rozhraní API sady Windows App SDK RegisterForXXXActivation a místo toho se musí zaregistrovat k pokročilé aktivaci prostřednictvím manifestu.

Všechna omezení pro zabalené aplikace platí také pro aplikace WinUI 3, které jsou zabalené; a existují další aspekty, jak je popsáno níže.

důležité aspekty:

Známý problém:

Přidružení typů souborů nesprávně kódují %1 jako %251 při nastavování šablony příkazového řádku obslužné rutiny slovesa, což způsobí selhání nerozbalených aplikací Win32. Hodnotu registru můžete ručně upravit na %1 jako částečné alternativní řešení. Pokud cílová cesta k souboru obsahuje mezeru, zůstane neúspěšná a pro tento scénář neexistuje žádné alternativní řešení.

Další omezení a známé problémy:

  • Verze 1.0 Preview 1 a Preview 2 obsahují kritickou chybu. Pokud jste už nainstalovali některou z těchto verzí Preview, podívejte se, jak tento problém vyřešit. Doporučujeme místo toho použít verzi 1.0 Preview 3.

  • Tato verze představuje prázdné aplikace zabalené (WinUI 3 v Desktopu) šablony pro projekty C# a C++. Tyto šablony umožňují sestavit aplikaci do balíčku MSIX bez použití samostatného projektu balení. Tyto šablony obsahují některé známé problémy v této verzi:

    • Šablona jazyka C# pro Visual Studio 2019 Při pokusu o sestavení projektu dojde k chybě: "Projekt neví, jak spustit profil název projektu". Chcete-li tento problém vyřešit, nainstalujte rozšíření MSIX Packaging Tools pro jeden projekt .

    • Šablona jazyka C# pro Visual Studio 2019 a Visual Studio 2022 Při pokusu o spuštění nebo ladění projektu ve vývojovém počítači dojde k následující chybě: Projekt je potřeba nasadit, než budeme moct ladit. Povolte nasazení v nástroji Configuration Manager. Pokud chcete tento problém vyřešit, povolte nasazení projektu v Configuration Manageru. Podrobné pokyny najdete v tématu Vytvoření prvního projektu WinUI 3 (Windows App SDK).

    • Šablona jazyka C++ pro Visual Studio 2019 a Visual Studio 2022 V této verzi jsou tyto projekty omezené na volání podmnožiny rozhraní API Win32, které mohou volat aplikace pro UWP. Tento problém neovlivňuje prázdnou aplikaci zabalenou šablonou WAP (WinUI 3 pro stolní verzi).

    • Šablona C++ pro Visual Studio 2022 verze 17.0 až do Preview 4. Při prvním pokusu o spuštění projektu se zobrazí následující chyba: Došlo k chybám nasazení. Pokud chcete tento problém vyřešit, spusťte nebo nasaďte projekt podruhé. Tento problém bude opraven ve Visual Studio 2022 verzi 17.0 Preview 5.

  • Rozhraní API pro push oznámení (obor názvů Microsoft.Windows.PushNotifications) bylo nesprávně zahrnuto ve verzi 1.0 Preview 2. Jedná se o experimentální funkci a k jejímu použití musíte místo toho nainstalovat experimentální verzi 1.0. Tato funkce bude odebrána z nadcházející verze 1.0.

  • Rozhraní API životního cyklu aplikace (obor názvů Microsoft.Windows.AppLifecycle) nesprávně obsahuje experimentální atribut ve verzi 1.0 Preview 2. Experimentální atribut bude z tohoto rozhraní API odebrán v příští verzi.

  • Žádná podpora pro konfiguraci sestavení Any CPU: Při přidání sady Windows App SDK do existující aplikace nebo komponenty .NET, která podporuje Any CPU, je nutné určit požadovanou architekturu: x86, x64 nebo arm64.

  • Projekty jazyka C# používající verzi 1.0 Preview 2 musí používat následující sadu .NET SDK: .NET 6 SDK nebo novější (viz Stažení .NET a .NET 5 bude ukončena podpora 10. května 2022).

  • Alternativou k DispatcherQueue.TryEnqueue (pro obnovení provádění ve vlákně dispečerské fronty) je použití pomocné funkce resume_foreground v Windows Implementation Library (WIL):

    1. Přidejte odkaz na projekt do balíčku NuGet Microsoft.Windows.ImplementationLibrary .
    2. Přidejte do #include <wil/cppwinrt_helpers.h>pch.h.
    3. Přidejte do #include <winrt/Microsoft.UI.Dispatching.h>pch.h.
    4. Teď co_await wil::resume_foreground(your_dispatcherqueue);.

Verze 1.0 Preview 1 (1.0.0-preview1)

Důležité

Verze 1.0 Preview 1 a Preview 2 obsahují kritickou chybu. Pokud jste už nainstalovali některou z těchto verzí Preview, podívejte se, jak tento problém vyřešit. Doporučujeme místo toho použít verzi 1.0 Preview 3.

Toto je první verze kanálu Preview pro verzi 1.0. Podporuje všechny funkce kanálu preview.

Následující části popisují nové a aktualizované funkce, omezení a známé problémy v této verzi.

WinUI 3 (1.0.0-preview1)

Tato verze WinUI 3 se zaměřuje na sestavování na verzi 1.0 s opravami chyb.

  • Nové funkce: Ve verzi Preview 1 nejsou žádné nové funkce.
  • Opravené problémy: Úplný seznam problémů vyřešených v této verzi najdete v našem úložišti GitHub.

Pro více informací nebo pokud chcete začít s vývojem pomocí WinUI 3, podívejte se sem:

Zobrazení oken (1.0.0-preview1)

Tato verze přináší rozhraní API pro Windowing, které jsme představili v experimentální verzi 1, do stavu Preview. V této verzi nejsou žádné hlavní nové oblasti funkcí, protože se zaměřuje na opravy chyb, stabilitu a úpravy podpisu rozhraní API. Důležité změny a doplňky jsou uvedeny níže.

Nové funkce:

  • DisplayAreaWatcher byla přidána do rozhraní API pro vytváření oken. Vývojář tak může sledovat změny v topologii zobrazení a zobrazit výčet DisplayAreas, které jsou aktuálně definovány v systému.
  • AppWindow teď podporuje nastavení ikony okna pomocí Metody SetIcon a AppWindowTitleBar teď podporuje výběr, zda se má zobrazit nebo skrýt ikona okna spolu s systémovou nabídkou pomocí IconShowOptions vlastnost.

Důležitá omezení:

  • Tato verze AppWindow je aktuálně dostupná jenom pro aplikace Win32 (zabalené i rozbalené).
  • Sada Windows App SDK v současné době neposkytuje metody pro připojení obsahu architektury uživatelského rozhraní k AppWindow; jste omezeni na použití metod přístupu zprostředkovatele komunikace HWND.
  • Přizpůsobení záhlaví okna funguje jenom ve Windows 11. Pomocí metody IsCustomizationSupported zkontrolujte podporu funkcí přizpůsobení záhlaví. Tuto funkci chceme přenést na nižší úroveň.

Další informace najdete v tématu Správa oken aplikací (Windows App SDK).

Vstup (1.0.0-preview1)

Tato verze přináší do vstupního rozhraní API několik nových funkcí. Důležité změny a doplňky jsou uvedeny níže.

Nové funkce a aktualizace:

  • PointerPredictor poskytuje aplikacím citlivé na latenci vstupu, jako je rukopisné aplikace, schopnost předpovědět umístění vstupních bodů až 15 ms v budoucnu, aby se dosáhlo lepší latence a hladké animace.
  • PenDeviceInterop umožňuje získat odkaz na Windows.Devices.Input.PenDevice pomocí metody FromPointerPoint.
  • InputCursor poskytuje explicitní rozdíl mezi přednastavenými typy kurzorů systému a vlastními typy kurzorů tím, že odstraní typ "Vlastní" z CoreCursor, a rozdělí objekt CoreCursor na samostatné objekty.
  • Aktualizace API rozhraní InputCursor
  • GestureRecognizer byla přesunuta z experimentální části do Microsoft.UI.Input.
  • PointerPoint byl přesunut z experimentálního prostředí na Microsoft.UI.Input.
  • Myš, dotykové ovládání a pera jsou plně podporovány pro přetahování v rámci WinUI 3.

Důležitá omezení:

  • Tato verze vstupních rozhraní API obsahuje známé problémy s Windows verze 1809.
  • MRT Core zatím nepodporuje žádný podtyp InputCursor.
  • Přímé použití rozhraní API sady SDK platformy Windows.UI.CoreDragOperation nebude fungovat s aplikacemi WinUI 3.
  • Vlastnosti PointerPointu RawPosition a ContactRectRaw byly odebrány, protože odkazovaly na nepřepovězené hodnoty, které byly stejné jako normální hodnoty v operačním systému. Použijte místo toho pozici a ContactRect. Predikce ukazatele je nyní zpracována objektem rozhraní API Microsoft.UI.Input.PointerPredictor.

MRT Core (1.0.0-předběžná verze 1)

Od verze 1.0 Preview 1 se rozhraní API MRT Core přesunula z oboru názvů Microsoft.ApplicationModel.Resources do oboru názvů Microsoft.Windows.ApplicationModel.Resources.

Další omezení a známé problémy:

  • Verze 1.0 Preview 1 a Preview 2 obsahují kritickou chybu. Pokud jste už nainstalovali některou z těchto verzí Preview, podívejte se, jak tento problém vyřešit. Doporučujeme místo toho použít verzi 1.0 Preview 3.

  • Projekty vytvořené pomocí C++ Prázdná aplikace , zabalené pomocí šablony projektu WAP (WinUI 3 v Desktopu), ve výchozím nastavení narazí na následující chybu sestavení: fatal error C1083: Cannot open include file: 'winrt/microsoft.ui.dispatching.co_await.h': No such file or directory. Pokud chcete tento problém vyřešit, odeberte následující řádek kódu ze souboru pch.h . Tento problém bude opraven v příští verzi.

    #include <winrt/microsoft.ui.dispatching.co_await.h>
    
  • Alternativou k DispatcherQueue.TryEnqueue (pro obnovení provádění ve vlákně dispečerské fronty) je použití pomocné funkce resume_foreground v Windows Implementation Library (WIL):

    1. Přidejte odkaz na projekt do balíčku NuGet Microsoft.Windows.ImplementationLibrary .
    2. Přidejte do #include <wil/cppwinrt_helpers.h>pch.h.
    3. Přidejte do #include <winrt/Microsoft.UI.Dispatching.h>pch.h.
    4. Teď co_await wil::resume_foreground(your_dispatcherqueue);.
  • Žádná podpora pro konfiguraci sestavení Any CPU: Sada Windows App SDK je napsaná v nativním kódu, a proto nepodporuje konfiguraci sestavení Any CPU. Šablony WinUI 3 v sadě Visual Studio umožňují pouze sestavení specifická pro architekturu. Při přidání sady Windows App SDK do existující .NET aplikace nebo komponenty, která podporuje libovolný procesor, je nutné zadat požadovanou architekturu: x86, x64 nebo arm64.

  • aplikace .NET musí cílit na build 18362 nebo novější: Vaše TFM musí být nastaveno na net6.0-windows10.0.18362 nebo novější, a u projektu balíčkování musí být <TargetPlatformVersion> nastaveno na 18362 nebo novější. Další informace najdete ve známém problému na GitHubu.

  • Pro projekty jazyka C# využívající verzi 1.0 Preview 1 je nutné použít následující.NET SDK: .NET 6 SDK nebo novější (viz Stažení rozhraní .NET a podpora pro .NET 5 bude ukončena dne 10. května 2022).

  • Unpackaged apps not supported on Windows 10 version 1809: Toto by mělo být vyřešeno v příští verzi.