Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie musisz ponownie pisać WPF, Windows Forms ani aplikacji Win32, aby korzystać z nowoczesnych funkcji Windows. Platforma Zestaw SDK do aplikacji systemu Windows i szersza platforma Windows oferują możliwości modułowe, które można wdrażać przyrostowo we własnym tempie.
Note
W tym artykule opisano dodawanie nowoczesnych funkcji Windows do istniejącej aplikacji klasycznej. Jeśli chcesz zmodernizować swój zestaw narzędzi .NET lub kompilator C++, zobacz modernizację platformy .NET z GitHub Copilot lub przewodnik firmy Microsoft dotyczący przenoszenia i uaktualniania w języku C++.
Migrowanie struktury interfejsu użytkownika?
Jeśli twoim celem jest w pełni zmodernizowanie warstwy interfejsu użytkownika aplikacji, zalecaną ścieżką jest migracja do interfejsu WinUI 3 — natywnej platformy interfejsu użytkownika dla aplikacji klasycznych Windows. Zobacz Tworzenie pierwszej aplikacji WinUI 3 , aby rozpocząć pracę.
Jeśli chcesz dodać funkcje Windows do istniejącej struktury aplikacji (WPF, WinForms lub C++ Win32) bez zmiany warstwy interfejsu użytkownika, kontynuuj czytanie.
Wybierz swoje podejście
Trzy podejścia do modernizacji są niezależne. Możesz użyć jednej, dwóch lub wszystkich trzech w tej samej aplikacji.
| Approach | Co to daje | Wymaga pakowania? |
|---|---|---|
| interfejsy API WinRT | Bezpośredni dostęp do interfejsów API platformy Windows, takich jak powiadomienia, Bluetooth, funkcja udostępniania, czujniki i inne, z poziomu dowolnej aplikacji klasycznej .NET lub C++ | Nie, dla większości interfejsów API |
| Zestaw SDK aplikacji systemu Windows | Pakiet NuGet, który udostępnia nowoczesne funkcje programowania Windows (okna, renderowanie tekstu, zasoby i inne) do istniejących aplikacji | Nie, w przypadku większości funkcji |
| Pakowanie MSIX | Nowoczesny instalator z możliwością czystego odinstalowania, automatycznymi aktualizacjami i identyfikatorem pakietu; można dodać bez zmiany kodu źródłowego aplikacji | Nie dotyczy — pakietowanie to podejście |
Wskazówka
Zacznij od interfejsów API WinRT, jeśli chcesz wywołać określony interfejs API platformy Windows. Dodaj Zestaw SDK do aplikacji systemu Windows, gdy potrzebujesz jej funkcji (DWriteCore, MRT Core, okno). Dodaj pakiet MSIX , gdy potrzebujesz tożsamości pakietu lub chcesz zmodernizować instalatora.
WinRT API
interfejsy API środowisko wykonawcze systemu Windows (WinRT) udostępniają Windows funkcje platformy, takie jak powiadomienia aplikacji, kontrakt udostępniania, Bluetooth i inne. Te interfejsy API można wywoływać bezpośrednio z aplikacji WPF, Windows Forms i C++ Win32.
Zestaw SDK do aplikacji systemu Windows
Zestaw SDK do aplikacji systemu Windows zapewnia nowoczesne funkcje programowania Windows jako pakiet NuGet dodany do istniejącego projektu. Nie musisz zmieniać struktury interfejsu użytkownika.
Pakowanie MSIX i tożsamość pakietu
Pakowanie MSIX zastępuje istniejącego instalatora i zapewnia tożsamość pakietu aplikacji. Niektóre funkcje Windows — w tym zadania w tle, zadania uruchamiania, skojarzenia plików i Windows AI Foundry — wymagają tożsamości pakietu w czasie wykonywania. Jeśli chcesz zachować istniejący instalator, nadal możesz nadać pakietowi tożsamość bez pełnego spakowania w formacie MSIX — podejście to jest czasami nazywane pakowaniem z lokalizacją zewnętrzną lub pakietem rzadkim.
- Omówienie pakietowania
- Funkcje, które wymagają tożsamości pakietu
- Przyznaj tożsamość dla aplikacji niepakowanej
- Połącz swoją aplikację desktopową z systemem Windows, używając rozszerzeń pakowania
- Pakietuj swoją aplikację przy użyciu pojedynczego projektu MSIX
Punkty początkowe specyficzne dla platformy
| Twoja struktura | Zalecany punkt początkowy |
|---|---|
| WPF | Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie |
| Windows Forms | Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie |
| C++ Win32 | Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie |
| C++/WinRT | Interfejsy API WinRT dla aplikacji klasycznych |
Katalog funkcji
W poniższej tabeli wymieniono typowe funkcje modernizacji oraz to, czy wymagają one tożsamości Zestaw SDK do aplikacji systemu Windows czy pakietu.
AI
| Funkcja | Zestaw SDK do aplikacji systemu Windows wymagane? | Czy identyfikator pakietu jest wymagany? |
|---|---|---|
| Odlewnia AI systemu Windows | No | Yes |
Interfejs użytkownika i tekst
| Funkcja | Zestaw SDK do aplikacji systemu Windows wymagane? | Czy identyfikator pakietu jest wymagany? |
|---|---|---|
| Składniki winUI 3 w aplikacji klasycznej | Yes | No |
| Renderowanie tekstu za pomocą funkcji DWriteCore | Yes | No |
| Stosowanie micy lub akrylu do aplikacji Win32 | No | No |
| Stosowanie zaokrąglonych narożników | No | No |
| Stosowanie motywów Windows | No | No |
Cykl życia aplikacji
| Funkcja | Zestaw SDK do aplikacji systemu Windows wymagane? | Czy identyfikator pakietu jest wymagany? |
|---|---|---|
| Zadania w tle (Zestaw SDK do aplikacji systemu Windows) | Yes | Yes |
| Zadania uruchamiania | No | Yes |
integracja Windows
| Funkcja | Zestaw SDK do aplikacji systemu Windows wymagane? | Czy identyfikator pakietu jest wymagany? |
|---|---|---|
| Integracja arkusza udostępniania | No | No |
| Interfejs API użytkowników między urządzeniami | No | No |
| Skojarzenia plików | No | Yes |
| widżety Windows | No | Yes |
Zabezpieczenia
| Funkcja | Zestaw SDK do aplikacji systemu Windows wymagane? | Czy identyfikator pakietu jest wymagany? |
|---|---|---|
| Schowek poświadczeń | No | No |
| OAuth 2.0 | No | No |
| biometryczne odciski palców | No | No |
| Karty inteligentne | No | No |
| #kryptografia | No | No |
Resources
| Funkcja | Zestaw SDK do aplikacji systemu Windows wymagane? | Czy identyfikator pakietu jest wymagany? |
|---|---|---|
| Zarządzanie zasobami platformy MRT Core | Yes | No |
Aby uzyskać pełną listę funkcji dostępnych w aplikacjach klasycznych, zobacz Funkcje tworzenia aplikacji Windows.
Modernizacja wspomagana przez sztuczną inteligencję
Agent modernizacji GitHub Copilot może analizować rozwiązanie desktopowe i generować pull requesty, które dodają nowoczesne funkcje systemu Windows lub aktualizują aplikację do nowszej wersji platformy .NET. Aby uzyskać szczegółowe informacje, zobacz Modernizacja wspomagana przez sztuczną inteligencję.
Zobacz także
- Wybierz ścieżkę migracji
- Terminologia dotycząca migracji
- Wywołaj API międzyoperacyjne z aplikacji .NET
- Tworzenie aplikacji .NET języka C# za pomocą międzyoperacyjności WinUI i Win32