Verwenden des Windows-App SDK in einem vorhandenen Projekt

Wenn Sie über ein Desktopprojekt verfügen, in dem Sie die 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). Nicht gepackte Apps (d. h. Apps, die MSIX für ihre Bereitstellungstechnologie nicht verwenden) müssen dieses Verfahren befolgen, wenn sie die Windows App SDK. Aber auch gepackte Apps können dies 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-Projekten (und höher) und C++-Desktopprojekten unterstützt. Diese Projekttypen können NuGet-Pakete entweder aus dem stabilen Releasekanal, dem Vorschauversionskanal oder dem experimentellen Releasekanal verwenden.

Voraussetzungen

Instructions

  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 18362 oder höher als Ziel verwenden, da ein bekanntes Problem 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 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 Fenster NuGet-Paket-Manager am oberen Rand des Fensters das Kontrollkästchen Vorabversion einschließen , wählen Sie die Registerkarte Durchsuchen aus, und suchen Sie nach einem der folgenden Pakete:

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

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

    Hinweis

    Das Windows App SDK NuGet-Paket enthält andere 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 Standard Windows App SDK NuGet-Paket installieren, das alle Komponenten enthält.

  6. Nur für nicht gepackte Apps. Bevor Ihre nicht gepackte 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 Runtime für Apps, die mit einem externen Speicherort gepackt oder entpackt sind, und Tutorial: Verwenden der Bootstrapper-API in einer App, die mit einem externen Speicherort verpackt oder entpackt ist, die die Windows App SDK verwendet.

  7. Ihre App kann jetzt Windows App SDK APIs und Komponenten verwenden, die in dem von Ihnen installierten Releasekanal verfügbar sind. Eine Liste der verfügbaren Features finden Sie unter Releasekanäle.

Weitere Informationen

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

Wenn beim Versuch, eine Windows App SDK Komponente zu verwenden, der Fehler Class not registered (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.