Freigeben über


Verwenden des Windows-App SDK in einem vorhandenen Projekt

Wenn Sie über ein Desktopprojekt verfügen, in dem Sie das Windows App SDK verwenden möchten, können Sie das Windows App SDK NuGet-Paket in Ihrem Projekt installieren (die neueste Version oder eine beliebige version, die Sie benötigen). Entpackte Apps (d. h. Apps, die MSIX nicht für ihre Bereitstellungstechnologie verwenden) müssen dieses Verfahren befolgen, wenn sie das Windows App SDK verwenden möchten. Verpackte Apps können dies aber auch tun.

Wichtig

Wenn Sie an einer UWP-App arbeiten, lesen Sie Migrieren von UWP zum Windows App SDK.

Hinweis

Dieses Verfahren wird in C# .NET 6 (und höher) Projekten und C++-Desktopprojekten unterstützt. Diese Projekttypen können NuGet-Pakete entweder über den stabilen Veröffentlichungskanal, den Vorschauversionskanal oder den experimentellen Veröffentlichungskanal verwenden.

Voraussetzungen

Anweisungen

  1. Öffnen Sie ein vorhandenes Projekt in Visual Studio.

    Hinweis

    Wenn Sie über ein C#-Desktopprojekt verfügen, stellen Sie sicher, dass das TargetFramework-Element in der Projektdatei auf einen Windows 10-spezifischen Moniker (z. B. net6.0-windows10.0.19041.0) festgelegt ist, damit Sie Windows-Runtime APIs aufrufen können. Weitere Informationen finden Sie unter Aufrufen Windows-Runtime-APIs in Desktop-Apps. Darüber hinaus müssen Sie auf 18362 oder höher abzielen, da es ein bekanntes Problem gibt, das Apps blockiert, die auf 17763 abzielen (siehe Buildfehler bei Verwendung von TFM von 17763 auf GitHub).

  2. Stellen Sie sicher, dass Paketverweise aktiviert sind:

    1. Klicken Sie in Visual Studio auf Extras>NuGet-Paket-Manager >Paket-Manager-Einstellungen.
    2. Stellen Sie sicher, dass PackageReference für das Standardpaketverwaltungsformat ausgewählt ist.
  3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie NuGet-Pakete verwalten.

  4. Aktivieren Sie im NuGet-Paket-Manager-Fenster das Kontrollkästchen Vorabversion einschließen am oberen Rand des Fensters, aktivieren Sie die Registerkarte "Durchsuchen", und suchen Sie nach einem der folgenden Pakete:

    • Um eine der Versionen 1.0 oder höher zu installieren, suchen Sie nach dem Microsoft.WindowsAppSDK-Paket .
    • Um eine der 0.8-Versionen zu installieren, suchen Sie nach dem Microsoft.ProjectReunion-Paket .
  5. Nachdem Sie das entsprechende Windows App SDK NuGet-Paket gefunden haben, wählen Sie das Paket aus, und klicken Sie im rechten Bereich des NuGet-Paket-Manager-Fensters auf "Installieren".

    Screenshot des Windows App SDK NuGet-Pakets, das installiert wird

    Hinweis

    Das NuGet-Paket des Windows App SDK enthält weitere Unterpakete (einschließlich Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI und andere), die die Implementierungen für bestimmte Komponenten im Windows App SDK enthalten. Sie können diese Unterpakete nicht einzeln installieren, um nur auf bestimmte Komponenten in Ihrem Projekt zu verweisen. Sie müssen das Hauptpaket für das Windows App SDK NuGet installieren, das alle Komponenten enthält.

  6. Nur für entpackte Apps. Bevor Ihre entpackte App Windows App SDK-APIs und -Komponenten verwenden kann, muss Ihre App zuerst die Windows App SDK-Runtime laden, um auf das Windows App SDK-Frameworkpaket zu verweisen. Weitere Informationen finden Sie unter Verwenden der Windows App SDK-Laufzeit für Apps, die mit externem Speicherort verpackt sind, oder entpackt und Lernprogramm: Verwenden Sie die Bootstrapper-API in einer App, die mit externem Speicherort verpackt ist, oder entpackt, die das Windows App SDK verwendet.

  7. Ihre App kann jetzt Windows App SDK-APIs und -Komponenten verwenden, die im von Ihnen installierten Releasekanal verfügbar sind. Eine Liste der verfügbaren Features finden Sie in den Versionskanälen.

Weitere Informationen

Wenn Ihr vorhandenes Projekt ein C++-Projekt ist und Sie Windows-Runtime APIs im Windows App SDK aufrufen möchten, müssen Sie Unterstützung für C++/WinRT hinzufügen. Siehe Visual Studio-Unterstützung für C++/WinRT, XAML, die VSIX-Erweiterung und das NuGet-Paket. Suchen Sie dort nach Informationen zum Microsoft.Windows.CppWinRT NuGet-Paket . Ohne dieses Paket kann Ihr Projekt die Namespaceheaderdateien für Windows-Runtime APIs im Windows App SDK nicht finden.

Wenn beim Versuch, eine Komponente des Windows App SDK zu verwenden, ein Fehler "Klasse nicht registriert " auftritt, müssen Sie ihrem Projekt möglicherweise eine dynamische Abhängigkeit vom Windows App SDK Framework-Paket hinzufügen. Weitere Informationen finden Sie unter MSIX-Frameworkpakete und dynamische Abhängigkeiten.

Weitere Informationen