Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek ukazuje, jak nakonfigurovat aplikaci, která není nainstalovaná pomocí MSIX (tedy buď zabalenou mimo interní úložiště, nebo bez balíčku), aby využívala rozhraní API bootstrapperu k výslovnému načtení modulu runtime Windows App SDK a volání rozhraní API Windows App SDK. Aplikace, které nejsou nainstalované prostřednictvím MSIX, zahrnují aplikace zabalené s externím umístěním a rozbalené aplikace.
Důležité
Počínaje Windows App SDK 1.0 je výchozím přístupem k načtení Windows App SDK zabaleno s externím umístěním nebo nezabalenou aplikací použití autoinicializace prostřednictvím vlastnosti projektu <WindowsPackageType> (stejně jako provedení dalších změn konfigurace). Postup automatických inicializací v kontextu project WinUI 3 najdete v tématu Vytvoření prvního project WinUI. Nebo pokud máte existující project, který není WinUI, podívejte se na Použití Windows App SDK v existujícím project.
Pokud máte pokročilé potřeby (například vlastní zpracování chyb nebo načtení konkrétní verze Windows App SDK), můžete místo toho explicitně volat rozhraní API bootstrapperu. A to je přístup, který toto téma ukazuje. Další informace najdete také v tématu Použijte běhové prostředí Windows App SDK pro aplikace zabalené s externím umístěním nebo nezabalené.
Toto téma ukazuje explicitní volání rozhraní API bootstrapperu ze základního projektu konzolové aplikace; ale postup platí pro všechny nebalené desktopové aplikace, které používají Windows App SDK.
Před dokončením tohoto kurzu doporučujeme zkontrolovat Runtime architekturu, abyste se dozvěděli více o závislostech balíčku Framework, které vaše aplikace přijímá při používání Windows App SDK, a o dalších komponentách potřebných k práci v balíčkové s externím umístěním nebo nerozbalené aplikaci.
Požadavky
- Instalace nástrojů pro Windows App SDK.
- Ujistěte se, že jsou nainstalované všechny závislosti pro aplikace zabalené s externím umístěním a pro rozbalené aplikace (viz průvodce nasazením Windows App SDK pro aplikace závislé na architektuře, které jsou zabalené s externím umístěním nebo jsou rozbalené). Snadný způsob, jak to udělat, je spustit instalační program runtime Windows App SDK.
Instrukce
Tento kurz můžete sledovat pomocí projektu v jazyce C# nebo C++.
Poznámka:
Dynamické závislosti a rozhraní API bootstrapperu selžou při zavolání procesem se zvýšenými oprávněními. V důsledku toho by Visual Studio nemělo být spuštěno se zvýšenými oprávněními. Další podrobnosti najdete v tématu Dynamické závislosti nepodporují zvýšení oprávnění #567.
Podle těchto pokynů nakonfigurujte projekt WinUI jazyka C# zabalený do externího umístění nebo bez balení.
Ve Visual Studio vytvořte novou aplikaci C# konzolová aplikace. Pojmenujte project DynamicDependenciesTest. Po vytvoření project byste měli mít konzolovou aplikaci Hello, World! C#.
Dále nakonfigurujte project.
- V Průzkumník řešení klikněte pravým tlačítkem na project a zvolte Edit Project Soubor.
- Nahraďte hodnotu prvku TargetFramework pomocí Target Framework Moniker. Pokud například vaše aplikace cílí na Windows 10 verze 2004, použijte následující kód.
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>- Uložte a zavřete soubor project.
Změňte platformu pro vaše řešení na x64. Výchozí hodnota v .NET project je AnyCPU, ale WinUI tuto platformu nepodporuje.
- Vyberte Build>Správce konfigurace.
- V části Aktivní platforma řešení vyberte rozevírací seznam a kliknutím na Tlačítko Nový otevřete dialogové okno Nová platforma řešení .
- V rozevíracím seznamu pod položkou zadejte nebo vyberte novou platformu, a poté zvolte x64.
- Kliknutím na tlačítko OK zavřete dialogové okno Nová platforma řešení .
- V Správce konfigurace klikněte na Close.
Nainstalujte balíček NuGet Windows App SDK do svého project.
- V Průzkumník řešení klikněte pravým tlačítkem na uzel Dependencies a zvolte Manage NuGet Packages.
- V okně NuGet Správce balíčků vyberte kartu Browse a nainstalujte balíček Microsoft.WindowsAppSDK.
Teď jste připraveni použít Bootstrapper API (viz Použít modul runtime Windows App SDK pro aplikace zabalené s externím umístěním nebo rozbalením) pro dynamické navázání závislosti na balíček rámce Windows App SDK. To vám umožní používat rozhraní API Windows App SDK ve vaší aplikaci.
Otevřete soubor kódu Program.cs a nahraďte výchozí kód následujícím kódem, který zavolá metodu Bootstrap.Initialize pro inicializaci bootstrapperu. Tento kód určuje, na které verzi Windows App SDK je aplikace závislá při inicializaci bootstrapru.
Důležité
Níže uvedený kód budete muset upravit tak, aby vyhovoval vaší konkrétní konfiguraci. Prohlédněte si popisy parametrů metody Bootstrap.Initialize, abyste mohli zadat jednu z verzí Windows App SDK, které jste nainstalovali.
using System; using Microsoft.Windows.ApplicationModel.DynamicDependency; namespace DynamicDependenciesTest { class Program { static void Main(string[] args) { Bootstrap.Initialize(0x00010005); Console.WriteLine("Hello, World!"); // Release the DDLM and clean up. Bootstrap.Shutdown(); } } }Poznámka:
Šestnáctková hodnota předaná do
Bootstrap.Initializekóduje hlavní a dílčí verzi modulu runtime sady Windows App SDK, na který vaše aplikace cílí.0x00010005představuje verzi 1.5. Aktualizujte tuto hodnotu tak, aby odpovídala Windows App SDK verzi, na kterou odkazuje váš projekt (například0x00010006pro verzi 1.6).V jádru je rozhraní API bootstrapperu nativní API jazyka C/C++, které umožňuje používat rozhraní API Windows App SDK ve vaší aplikaci. Ale v aplikaci .NET, která používá Windows App SDK 1.0 nebo novější, můžete použít obálku .NET pro rozhraní API bootstrapperu. Tato obálka umožňuje jednodušší způsob volání rozhraní API bootstrapperu v aplikaci v .NET než přímé volání funkcí nativně v C/C++. Předchozí příklad kódu volá statickou Initialize a Shutdown metody třídy Bootstrap v .NET obálky rozhraní API bootstrapperu.
Chcete-li předvést, že komponenty modulu runtime Windows App SDK byly načteny správně, přidejte kód, který v rámci Windows App SDK použije třídu ResourceManager k načtení prostředku řetězce.
Přidejte do project nový soubor Sourcové soubory (.resw) (ponechte výchozí název).
S otevřeným souborem prostředků v editoru vytvořte nový řetězcový prostředek s následujícími vlastnostmi.
- Název: Zpráva
- Hodnota: Ahoj, prostředky!
Uložte soubor prostředků.
Otevřete soubor kódu Program.cs a nahraďte
Console.WriteLine("Hello, World!");řádek následujícím kódem.
// Create a resource manager using the resource index generated during build. var manager = new Microsoft.Windows.ApplicationModel.Resources.ResourceManager("DynamicDependenciesTest.pri"); // Look up a string in the .resw file using its name. Console.WriteLine(manager.MainResourceMap.GetValue("Resources/Message").ValueAsString);- Klikněte na Spustit bez ladění (nebo Spustit s laděním) pro sestavení a spuštění vaší aplikace. Měl by se úspěšně zobrazit řetězec
Hello, resources!.
Pokud je váš project WPF (Windows Presentation Foundation)
Informace o aplikaci Windows Presentation Foundation (WPF (Windows Presentation Foundation)) najdete v tématu Použití Windows App SDK v existujícím projektu.
Související témata
Windows developer