Usare Windows App SDK in un progetto esistente

Se si dispone di un progetto desktop in cui si vuole usare Windows App SDK, è possibile installare il pacchetto NuGet di Windows App SDK nel progetto (la versione più recente o qualsiasi versione necessaria). Le app non incluse nel pacchetto (ovvero le app che non usano MSIX per la tecnologia di distribuzione) devono seguire questa procedura se usano Windows App SDK. Tuttavia, anche le app incluse nel pacchetto possono farlo.

Importante

Se si sta lavorando a un'app UWP, fare riferimento a Eseguire la migrazione dalla piattaforma UWP a SDK per app di Windows.

Nota

Questa procedura è supportata nei progetti C# .NET 6 (e versioni successive) e nei progetti desktop C++. Questi tipi di progetto possono usare pacchetti NuGet sia dal canale di versione stabile, dal canale di versione anteprima, o dal canale di versione sperimentale.

Prerequisiti

Istruzioni

  1. Aprire un progetto esistente in Visual Studio.

    Nota

    Se si dispone di un progetto desktop C#, assicurarsi che l'elemento TargetFramework nel file di progetto sia impostato su un moniker specifico di Windows 10 (ad esempio net6.0-windows10.0.19041.0) in modo da poter chiamare le API di Windows Runtime. Per altre informazioni, si veda Chiamata delle API di Windows Runtime nelle app desktop. Inoltre, è necessario avere come destinazione la versione 18362 o successiva, poiché esiste un problema noto che blocca le app destinate alla versione 17763 (vedere Errori di compilazione quando si usa TFM 17763 in GitHub).

  2. Assicurarsi che i riferimenti ai pacchetti siano abilitati:

    1. In Visual Studio fai clic su Strumenti>Gestione pacchetti NuGet>Impostazioni di Gestione pacchetti.
    2. Verificare che PackageReference sia selezionato per Formato di gestione pacchetti predefinito.
  3. Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Gestisci pacchetti NuGet.

  4. Dalla finestra Gestione pacchetti NuGet, selezionare la casella di controllo Includi versione preliminare nella parte superiore della finestra, selezionare la scheda Sfoglia e cercare uno dei seguenti pacchetti:

    • Per installare una delle versioni 1.0 o successive, cercare il pacchetto Microsoft.WindowsAppSDK .
    • Per installare una delle versioni 0.8 , cercare il pacchetto Microsoft.ProjectReunion .
  5. Dopo aver trovato il pacchetto NuGet appropriato di Windows App SDK, selezionare il pacchetto e fare clic su Installa nel riquadro di destra della finestra Gestione pacchetti NuGet.

    Screenshot del pacchetto NuGet SDK per app di Windows in fase di installazione

    Nota

    Il pacchetto NuGet Windows app SDK contiene altri pacchetti secondari (inclusi Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI e altri) che contengono le implementazioni per componenti specifici in Windows App SDK. Non è possibile installare questi pacchetti secondari singolarmente per fare riferimento solo a determinati componenti nel progetto. È necessario installare il pacchetto NuGet principale Windows App SDK, che include tutti i componenti.

  6. Solo per le app non incluse nel pacchetto. Prima che l'app non inclusa nel pacchetto possa usare API e componenti di Windows App SDK, l'app deve prima caricare il runtime di Windows App SDK per fare riferimento al pacchetto framework Windows App SDK. Per altre info, vedere Utilizzo del runtime di Windows App SDK per le app incluse nel pacchetto con posizione esterna o non incluse nel pacchetto e Tutorial: utilizzo dell'API del programma di avvio automatico in un'app inclusa nel pacchetto con percorso esterno o non inclusa nel pacchetto che usa Windows App SDK.

  7. L'app può ora usare API e componenti di Windows App SDK disponibili nel canale di versione installato. Per l'elenco delle funzionalità disponibili, vedere Canali di rilascio.

Altre informazioni

Se il progetto esistente è un progetto C++ e si intende chiamare le API di Windows Runtime in Windows App SDK, sarà necessario aggiungere il supporto per C++/WinRT. Vedere Supporto di Visual Studio per C++/WinRT, XAML, l'estensione VSIX e il pacchetto NuGet. Cercare informazioni sul pacchetto Microsoft.Windows.CppWinRT NuGet. Senza tale pacchetto, il progetto non sarà in grado di trovare i file di intestazione dello spazio dei nomi per le API di Windows Runtime in Windows App SDK.

Se si verifica un errore Classe non registrata quando si tenta di usare un componente Windows App SDK, potrebbe essere necessario aggiungere al progetto una dipendenza dinamica dal pacchetto di Framework per Windows App SDK. Per altre info, vedere Pacchetti del framework MSIX e dipendenze dinamiche.

Vedi anche