Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U hoeft uw WPF-, Windows Forms- of Win32-app niet opnieuw te schrijven om te profiteren van moderne Windows-functies. De Windows App SDK en het bredere Windows platform bieden modulaire mogelijkheden die u in uw eigen tempo kunt gebruiken.
In dit artikel worden drie onafhankelijke moderniseringsmethoden geïntroduceerd: het aanroepen van Windows Runtime API's (WinRT), het toevoegen van de Windows App SDK en het aannemen van MSIX-pakketten, zodat u kunt bepalen welke functies u wilt toevoegen en waar u moet beginnen op basis van het framework van uw app.
Migratie van UI-framework naar WinUI 3
Als u de UI-laag van uw app volledig wilt moderniseren, raden we u aan om te migreren naar WinUI 3, het systeemeigen UI-framework voor Windows desktop-apps. Zie Uw eerste WinUI 3-app maken om aan de slag te gaan.
Als u Windows functies wilt toevoegen aan uw bestaande app-framework (WPF, Windows Forms of C++ Win32) zonder de gebruikersinterfacelaag te wijzigen, gebruikt u een van de moderniseringsmethoden die in dit artikel worden beschreven.
Opmerking
In dit artikel wordt beschreven hoe u moderne Windows-functies toevoegt aan uw bestaande bureaublad-app. Als u uw .NET hulpprogrammaketen of C++-compiler wilt moderniseren, raadpleegt u GitHub Copilot modernisering voor .NET of de handleiding voor het overzetten en upgraden van Microsoft C++.
Moderniseringsmethoden
De drie moderniseringsmethoden zijn onafhankelijk. U kunt één, twee of alle drie in dezelfde app gebruiken.
| Approach | Wat het u geeft | Heeft verpakking nodig? |
|---|---|---|
| WinRT-API's | Directe toegang tot Windows platform-API's (meldingen, Bluetooth, contract, sensoren delen en meer) vanuit elke .NET- of C++-desktop-app | Nee, voor de meeste API's |
| Windows App SDK | Een NuGet-pakket met moderne Windows ontwikkelfuncties (vensters, tekstweergave, resources en meer) aan bestaande apps | Nee, voor de meeste functies |
| MSIX-verpakking | Een modern installatieprogramma met schone verwijdering, automatische updates en pakketidentiteit; vereist geen wijzigingen in broncode | n.v.t. — verpakking is de benadering |
Aanbeveling
Begin met WinRT-API's als u een specifieke Windows platform-API wilt aanroepen. Voeg de Windows App SDK toe wanneer u de functies nodig hebt (DWriteCore, MRT Core, windowing). Voeg MSIX-pakketten toe wanneer u pakketidentiteit nodig hebt of uw installatieprogramma wilt moderniseren.
WinRT-APIs
Windows Runtime (WinRT)-API's maken Windows platformfuncties beschikbaar, zoals app-meldingen, het sharecontract, Bluetooth en meer. U kunt deze API's rechtstreeks aanroepen vanuit WPF-, Windows Forms- en C++ Win32-apps.
Windows App SDK
De Windows App SDK biedt moderne Windows ontwikkelfuncties als een NuGet-pakket dat u aan uw bestaande project toevoegt. U hoeft uw UI-framework niet te wijzigen.
MSIX-packaging en pakketidentiteit
MSIX-pakketten vervangen uw bestaande installatieprogramma en geven uw app-pakketidentiteit. Sommige Windows functies, waaronder achtergrondtaken, opstarttaken, bestandskoppelingen en Windows AI Foundry, vereisen pakketidentiteit tijdens runtime. Als u uw bestaande installatieprogramma wilt behouden, kunt u nog steeds pakketidentiteit verlenen zonder volledige MSIX-pakketten, een benadering die ook wel pakketten met externe locatie of een sparse-pakket wordt genoemd.
- Overzicht van pakketten
- Functies waarvoor pakketidentiteit is vereist
- Identiteit verlenen aan een niet-verpakte app
- Integreer je desktop-app met Windows door gebruik te maken van verpakkingsuitbreidingen
- Verpak uw app met één project MSIX
Frameworkspecifieke uitgangspunten
De volgende tabel bevat het aanbevolen startpunt voor elk bureaublad-app-framework.
| Uw framework | Aanbevolen uitgangspunt |
|---|---|
| WPF | De Windows App SDK gebruiken in een bestaand project |
| Windows Forms | De Windows App SDK gebruiken in een bestaand project |
| C++ Win32 | De Windows App SDK gebruiken in een bestaand project |
| C++/WinRT | WinRT-API's voor bureaublad-apps |
Functiecatalogus voor modernisering van bureaublad-apps
De volgende tabellen bevatten algemene moderniseringsfuncties en of voor elke functie de Windows App SDK of pakketidentiteit is vereist.
AI
| Eigenschap | Windows App SDK vereist? | Pakketidentiteit vereist? |
|---|---|---|
| WINDOWS AI Foundry | No | Ja |
Gebruikersinterface en tekst
| Eigenschap | Windows App SDK vereist? | Pakketidentiteit vereist? |
|---|---|---|
| WinUI 3-onderdelen in een bureaublad-app | Ja | No |
| Tekst weergeven met DWriteCore | Ja | No |
| Mica of Acrylic gebruiken in Win32-apps | No | No |
| Afgeronde hoeken toepassen | No | No |
| Thema's voor Windows toepassen | No | No |
App-levenscyclus
| Eigenschap | Windows App SDK vereist? | Pakketidentiteit vereist? |
|---|---|---|
| Achtergrondtaken (Windows App SDK) | Ja | Ja |
| Opstarttaken | No | Ja |
integratie van Windows
| Eigenschap | Windows App SDK vereist? | Pakketidentiteit vereist? |
|---|---|---|
| Integratie van werkblad delen | No | No |
| Personen-API voor meerdere apparaten | No | No |
| Bestandskoppelingen | No | Ja |
| Windows Widgets | No | Ja |
Security
| Eigenschap | Windows App SDK vereist? | Pakketidentiteit vereist? |
|---|---|---|
| Geloofsbrievenkluis | No | No |
| OAuth 2.0 | No | No |
| biometrie van vingerafdrukken | No | No |
| Smartcards | No | No |
| Cryptografie | No | No |
Resources
| Eigenschap | Windows App SDK vereist? | Pakketidentiteit vereist? |
|---|---|---|
| MRT Core-resourcebeheer | Ja | No |
Zie het overzicht van Windows app-platform voor de volledige lijst met platformfuncties die beschikbaar zijn in desktop-apps.
Door AI ondersteunde modernisering
De GitHub Copilot moderniseringsagent kan uw bureaubladoplossing analyseren en pull-aanvragen genereren die moderne Windows-functies toevoegen of uw app upgraden naar een nieuwere .NET versie. Zie ai-ondersteunde modernisering voor meer informatie.
Verwante onderwerpen
Windows developer