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.
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++.
Uw UI-framework migreren?
Als u de ui-laag van uw app volledig wilt moderniseren, is het aanbevolen pad 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, WinForms of C++ Win32) zonder de gebruikersinterfacelaag te wijzigen, leest u verder.
Kies uw benadering
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; kan worden toegevoegd zonder de broncode van de app te wijzigen | 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
| Uw framework | Aanbevolen uitgangspunt |
|---|---|
| WPF | De Windows App SDK gebruiken in een bestaand project |
| WinForms | 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 |
Catalogus met functies
De volgende tabel bevat algemene moderniseringsfuncties en of ze de Windows App SDK of pakketidentiteit vereisen.
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 Functies voor de ontwikkeling van Windows-apps voor de volledige lijst met functies 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.
Zie ook
- Uw migratiepad kiezen
- Migratieterminologie
- Interop-API's aanroepen vanuit een .NET-app
- Een C# .NET-app bouwen met WinUI en Win32-interop
Volgende stappen
Windows developer