Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Non è necessario riscrivere le macchine virtuali Windows, le Windows Forms o l'app Win32 per sfruttare le funzionalità Windows moderne. Il SDK per app di Windows e la piattaforma Windows più ampia offrono funzionalità modulari che è possibile adottare in modo incrementale, a un ritmo personalizzato.
Questo articolo presenta tre approcci di modernizzazione indipendenti, ovvero la chiamata di API Windows Runtime (WinRT), l'aggiunta del SDK per app di Windows e l'adozione della creazione di pacchetti MSIX, in modo da decidere quali funzionalità aggiungere e dove iniziare in base al framework dell'app.
Migrazione del framework dell'interfaccia utente a WinUI 3
Se l'obiettivo è modernizzare completamente il livello dell'interfaccia utente dell'app, è consigliabile eseguire la migrazione a WinUI 3, ovvero il framework dell'interfaccia utente nativo per le app desktop Windows. Per iniziare, vedi Creare la prima app WinUI 3 .
Se vuoi aggiungere funzionalità Windows al framework app esistente (macchine virtuali Windows, Windows Forms o C++ Win32) senza modificare il livello dell'interfaccia utente, usa uno degli approcci di modernizzazione descritti in questo articolo.
Annotazioni
Questo articolo illustra l'aggiunta di funzionalità moderne Windows all'app desktop esistente. Per modernizzare la toolchain .NET o il compilatore C++, vedere GitHub Copilot modernizzazione per .NET o la guida alla conversione e all'aggiornamento di Microsoft C++.
Approcci alla modernizzazione
I tre approcci di modernizzazione sono indipendenti. È possibile usare uno, due o tutti e tre nella stessa app.
| Avvicinarsi | Cosa ti offre | Richiede l'impacchettamento? |
|---|---|---|
| API WinRT | Accesso diretto alle API della piattaforma Windows (notifiche, Bluetooth, contratto di condivisione, sensori e altro ancora) da qualsiasi app desktop .NET o C++ | No, per la maggior parte delle API |
| SDK per app di Windows | Un pacchetto NuGet che offre funzionalità di sviluppo Windows moderne (finestre, rendering del testo, risorse e altro ancora) alle app esistenti | No, per la maggior parte delle funzionalità |
| Imballaggio MSIX | Un programma di installazione moderno con disinstallazione pulita, aggiornamenti automatici e identità del pacchetto; non richiede modifiche al codice sorgente | N/D : la creazione di pacchetti è l'approccio |
Suggerimento
Iniziare con le API WinRT se si vuole chiamare un'API della piattaforma Windows specifica. Aggiungere il SDK per app di Windows quando sono necessarie le relative funzionalità (DWriteCore, MRT Core, windowing). Aggiungi la pacchettizzazione MSIX quando ti serve un'identità di pacchetto o vuoi modernizzare il programma di installazione.
API di WinRT
Windows Runtime API (WinRT) espongono Windows funzionalità della piattaforma, ad esempio notifiche delle app, contratto di condivisione, Bluetooth e altro ancora. È possibile chiamare queste API direttamente dalle app Win32 macchine virtuali Windows, Windows Forms e C++.
SDK per app di Windows
Il SDK per app di Windows offre funzionalità di sviluppo Windows moderne come pacchetto NuGet aggiunto al progetto esistente. Non è necessario modificare il framework dell'interfaccia utente.
Creazione di pacchetti MSIX e identità del pacchetto
La creazione di un pacchetto MSIX sostituisce il programma di installazione esistente e assegna un'identità al pacchetto dell'app. Alcune funzionalità di Windows, tra cui attività in background, attività di avvio, associazioni di file e Windows AI Foundry, richiedono l'identità del pacchetto in fase di esecuzione. Se vuoi mantenere il programma di installazione esistente, puoi comunque assegnare un'identità di pacchetto senza creare un pacchetto MSIX completo, un approccio talvolta chiamato pacchettizzazione con posizione esterna o sparse package.
- Panoramica della creazione di pacchetti
- Funzionalità che richiedono l'identità del pacchetto
- Concedere l'identità a un'app non in pacchetto
- Integra la tua app desktop con Windows usando estensioni di packaging
- Confeziona la tua app utilizzando MSIX a progetto unico
Punti di partenza specifici del framework
La tabella seguente elenca il punto di partenza consigliato per ogni framework di app desktop.
| Il tuo framework | Punto di partenza consigliato |
|---|---|
| macchine virtuali Windows | Usare il SDK per app di Windows in un progetto esistente |
| Windows Forms | Usare il SDK per app di Windows in un progetto esistente |
| C++ Win32 | Usare il SDK per app di Windows in un progetto esistente |
| C++/WinRT | API WinRT per le app desktop |
Catalogo delle funzionalità per la modernizzazione delle app desktop
Nelle tabelle seguenti sono elencate le funzionalità di modernizzazione comuni e se ognuna richiede l'identità del SDK per app di Windows o del pacchetto.
AI
| Caratteristica / Funzionalità | SDK per app di Windows obbligatorio? | Identità del pacchetto obbligatoria? |
|---|---|---|
| Windows ai foundry | No | Yes |
Interfaccia utente e testo
| Caratteristica / Funzionalità | SDK per app di Windows obbligatorio? | Identità del pacchetto obbligatoria? |
|---|---|---|
| Componenti WinUI 3 in un'app desktop | Yes | No |
| Eseguire il rendering del testo con DWriteCore | Yes | No |
| Applicare Mica o Acrilico alle app Win32 | No | No |
| Applicare angoli arrotondati | No | No |
| Applicare temi Windows | No | No |
Ciclo di vita dell'app
| Caratteristica / Funzionalità | SDK per app di Windows obbligatorio? | Identità del pacchetto obbligatoria? |
|---|---|---|
| Attività in background (SDK per app di Windows) | Yes | Yes |
| Attività di avvio | No | Yes |
integrazione Windows
| Caratteristica / Funzionalità | SDK per app di Windows obbligatorio? | Identità del pacchetto obbligatoria? |
|---|---|---|
| Integrazione dei fogli di condivisione | No | No |
| API Persone tra dispositivi | No | No |
| Associazioni di file | No | Yes |
| Windows Widget | No | Yes |
Security
| Caratteristica / Funzionalità | SDK per app di Windows obbligatorio? | Identità del pacchetto obbligatoria? |
|---|---|---|
| Archivio credenziali | No | No |
| OAuth 2.0 | No | No |
| Biometria con impronta digitale | No | No |
| Smart card | No | No |
| Crittografia | No | No |
Resources
| Caratteristica / Funzionalità | SDK per app di Windows obbligatorio? | Identità del pacchetto obbligatoria? |
|---|---|---|
| Gestione delle risorse MRT Core | Yes | No |
Per l'elenco completo delle funzionalità della piattaforma disponibili nelle app desktop, vedere Panoramica della piattaforma per app di Windows.
Modernizzazione assistita dall'intelligenza artificiale
L'agente di modernizzazione GitHub Copilot può analizzare la soluzione desktop e generare richieste pull che aggiungono funzionalità Windows moderne o aggiornano l'app a una versione .NET più recente. Per informazioni dettagliate, vedere Modernizzazione assistita dall'intelligenza artificiale.
Contenuti correlati
- Richiamare le API Windows Runtime nelle app desktop
- Usare il SDK per app di Windows in un progetto esistente
- Panoramica della creazione di pacchetti
- Scegliere il percorso di migrazione
- Terminologia della migrazione
- Chiama le API di interoperabilità da un'app .NET
- Creare un'app .NET C# con interoperabilità WinUI e Win32