Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese HÄUFIG gestellten Fragen enthalten Antworten auf häufig gestellte Fragen zur Windows Anwendungsentwicklung, einschließlich Anleitungen zur Auswahl des richtigen Frameworks für Ihre Projekte. Folgende Themen werden behandelt:
- Erste Schritte und die Windows App-Entwicklungslandschaft.
- Native Windows-only-App-Entwicklung mit WinUI 3, Windows Presentation Foundation (WPF) und Windows Forms (WinForms).
- Windows Software Development Kit (SDK) und Windows App SDK.
- Windows als Ziel Ihrer plattformübergreifenden Entwicklungsstrategie anvisieren.
- Hybrid- und Web-App-Entwicklung mit .NET MAUI, Blazor und ASP.NET Core.
- Wie man einen Ansatz auswählt, während man die Investitionen von Microsoft versteht.
Windows App-Entwicklungslandschaft
Wo finde ich eine einfache Übersicht über Windows Entwicklungstechnologien?
Für eine großartige Übersicht über die heutigen Optionen für Windows-Entwickler sehen Sie sich die neueste Episode des Windows Dev Chat mit dem Titel Choosing your ideal dev platform an. Darin werden WinUI, .NET MAUI, React Native, Blazor und Progressive Web-Apps (PWAs) besprochen.
Sie können auch auf die Overview der App-Entwicklungsoptionen für Windows Entwickler verweisen.
Warum ist die Entwicklung von Client-Apps noch entscheidend für die moderne digitale Transformation im Zeitalter von Cloud-Diensten?
Im Zeitalter der Clouddienste ist die Entwicklung von Client-Apps für die Bereitstellung reaktionsfähiger, aussagekräftiger Interaktionen auf Benutzergeräten wichtig.
Dies ist der Grund, warum Client-Apps wichtig sind:
- Gerätereichweite: Mit Client-Apps können Sie Ihre Anwendung direkt an Benutzer auf ihren Geräten ihrer Wahl übertragen.
- Gateway zu intelligenten Diensten: Client-Apps sind häufig der erste Berührungspunkt für Benutzer Ihrer Dienste. Sie bieten eine reichhaltige, interaktive Oberfläche, mit der Sie intelligente Features präsentieren und Ihr Produkt von anderen unterscheiden können.
- Scalability with Cloud Integration: Eine gut integrierte Client-App kann mühelos mit Back-End-cloud services synchronisiert werden, wodurch Echtzeitdaten access und nahtlose Skalierbarkeit ermöglicht werden, während Ihre Benutzerbasis wächst.
- verbesserte Produktivität und Benutzerbindung: Eine durchdachte App kann die Produktivität steigern und die Benutzer im Laufe der Zeit mit Ihrem Produkt oder Service beschäftigen.
Native Windows-App-Entwicklung nur für Windows
Was ist das Windows App SDK?
Die Windows App SDK stellt unabhängig gewartete Komponenten für Windows Desktop-Apps bereit, einschließlich WinUI, App-Lebenszyklus, Fensterung, Benachrichtigungen, Ressourcen und Text-APIs. Es unterstützt Apps, die auf Windows 10, Version 1809 und höher ausgeführt werden, vorbehaltlich des Supportlebenszyklus der Windows Release und Windows App SDK Version.
Was ist der Unterschied zwischen dem Windows App SDK und dem Windows SDK?
Beides sind Software Development Kits (SDKs), mit denen Sie Windows Apps erstellen können.
Die Windows App SDK stellt Komponenten bereit, die unabhängig von Windows ausgeliefert werden und über unterstützte Windows Versionen bis Windows 10 Version 1809 hinweg funktionieren. Sie enthält WinUI und APIs für den App-Lebenszyklus, Fensterung, Benachrichtigungen, Ressourcen, Text und andere Funktionen.
Das Windows SDK stellt Header, Bibliotheken, Metadaten und Tools für Betriebssystem-APIs wie Win32, WinRT, COM, DirectX, Geräte und Shell-Funktionen bereit.
Das Windows App SDK ersetzt nicht das Windows SDK. Apps, die die Windows App SDK übernehmen, können weiterhin Windows SDK-APIs verwenden, und WinUI-Apps verwenden häufig beide.
I erstellt ein neues Team, um eine Windows-only-App zu entwickeln. Warum sollte ich mich für die Entwicklung mit einem systemeigenen Windows Framework wie WinUI, WPF oder WinForms entscheiden?
Hier sind einige Gründe für die Auswahl eines nativen Windows-Frameworks für Ihre ausschließlich Windows-App:
- Performance: Native Windows Frameworks sind optimiert, um moderne Windows Hardware zu nutzen und schnelle und reaktionsfähige Benutzeroberflächen bereitzustellen.
- Integration: Windows enthält eine Vielzahl von APIs, die anspruchsvolle Funktionen ermöglichen, die nur auf Windows verfügbar sind. Systemeigene Frameworks bieten eine umfassende Integration mit diesen Features und APIs.
- Native Benutzeroberfläche: Native Frameworks bieten eine konsistente Benutzererfahrung auf Windows Geräten, um sicherzustellen, dass Ihre App überall gut aussieht und funktioniert.
- Offlineunterstützung: Native Frameworks unterstützen Offlineszenarien, sodass Apps auch ohne Internetverbindung funktionieren können.
- Unterstützung und Tools: Microsoft verwaltet die nativen Frameworks und stellt aktuelle SDKs, Dokumentationen, Debuggingtools und Beispiele bereit.
Which-Framework sollte ich verwenden, um die neuesten Investitionen Microsoft in Windows App-Entwicklung zu nutzen?
Wenn Sie eine neue nur Windows-App erstellen, empfehlen wir die Verwendung von WinUI. WinUI ist das neueste systemeigene Benutzeroberflächenframework für Windows App-Entwicklung und wurde entwickelt, um auf einer Vielzahl von Windows Geräten zu arbeiten. Es bietet ein modernes und flexibles UI-Framework zum Erstellen visuell ansprechender und interaktiver Windows-Apps. WinUI ist Teil der Windows App SDK und funktioniert am besten mit den neuesten Versionen von Windows.
Kann ich Windows App SDK /WinUI in meiner vorhandenen Windows-App verwenden?
Beachten Sie, dass WinUI (ein UI-Framework) mit dem Windows App SDK (einem Windows Plattformentwicklungsframework) ausgeliefert wird.
Sie können die Benutzeroberfläche einer App zu WinUI migrieren oder WinUI-XAML-Inseln verwenden, um Windows App SDK Steuerelemente in einem unterstützten vorhandenen Desktophost zu hosten. Sehen Sie sich die Beispiele für Windows App SDK Inseln an. Ältere System-XAML-Inseln hosten UWP-XAML-Steuerelemente und verwenden unterschiedliche APIs.
Elemente der Windows App SDK können häufig in Desktop-Apps verwendet werden, je nachdem, wie die vorhandene App erstellt wurde. UWP-Apps werden von Windows App SDK nicht unterstützt.
Dies bedeutetWPF/MFC/WinForms Apps können Windows App SDK APIs verwenden, die nicht mit WinUI verbunden sind. Beispiele sind App-Lebenszyklus, Fensterverwaltung und Toast-Benachrichtigungen.
Weitere Informationen finden Sie unter Use the Windows App SDK in an existing project.
Do muss ich Visual Studio zum Erstellen von WinUI-Apps verwenden?
Nein. WinUI-XAML-Builds verwenden MSBuild, aber Sie können mit dem .NET SDK und aktuellen WinUI-Vorlagen über die Befehlszeile in einem anderen Editor erstellen. Siehe den .NET- und Befehlszeilenpfad.
Visual Studio 2026 bietet die besten integrierten Bearbeitungs-, Debugging-, Profilerstellungs- und XAML-Hot Reload-Funktionen. Verwenden Sie den Workflow, der Ihren Toolanforderungen entspricht.
Ich erhalte beim Ausführen meiner App einen Fehler 'DLL 'Microsoft.ui.xaml.dll' konnte nicht geladen werden'. Wie kann ich das beheben?
Dieser Fehler tritt in der Regel in unpackaged App-Szenarien auf, in denen die Windows App SDK Laufzeit nicht auf dem Computer installiert wurde. Probieren Sie Folgendes aus:
- Wenn Sie eine packaged-App ausführen (die empfohlene Standardeinstellung), stellen Sie sicher, dass Sie über Visual Studio mit dem MsixPackage Startprofil (nicht mit dem einfachen ausführbaren Profil) starten. Der MSIX-Paketschritt installiert die erforderlichen Laufzeitkomponenten.
- Wenn Sie eine frameworkabhängige entpackte App ausführen, installieren Sie die entsprechende Windows App SDK Laufzeit. Eine eigenständige Bereitstellung umfasst die Windows App SDK-Abhängigkeiten.
- Vergewissern Sie sich, dass Ihr Projekt ihrem Bereitstellungsmodell entspricht. Bei einer normalen, nicht paketierten .NET-App wird durch das Festlegen von
<WindowsPackageType>None</WindowsPackageType>die automatische Initialisierung der Windows App SDK-Runtime aktiviert. Verwenden Sie die Bootstrapper-API nur dann direkt, wenn Sie explizite Kontrolle über die dynamische Abhängigkeitsinitialisierung benötigen.Weitere Informationen zu bereitstellungsanforderungen finden Sie unter Deploy apps that use the Windows App SDK.
Was ist der Unterschied zwischen WinUI 3 und WinUI 2 für UWP?
WinUI (zuvor als WinUI 3 bezeichnet) ist das neueste systemeigene UI-Framework für Windows App-Entwicklung. Es bietet ein modernes und flexibles UI-Framework zum Erstellen visuell ansprechender und interaktiver Windows-Apps. WinUI ist Teil der Windows App SDK und funktioniert am besten mit den neuesten Versionen von Windows.
WinUI für UWP (zuvor als WinUI 2 bezeichnet) ist eine Reihe von UI-Steuerelementen und Stilen, die auf UWP basieren. Es bietet ein modernes Erscheinungsbild für UWP-Apps und ist für Windows 10 konzipiert.
Wenn ich eine App mit dem Windows App SDK und WinUI erstelle, baue ich dann eine "WinUI-App"?
Ja – "WinUI-App" ist der empfohlene Begriff. WinUI-Apps werden als "WinUI-Apps" bezeichnet, da WinUI für UWP kein App-Typ ist, sondern eine Reihe von Komponenten, die in UWP-Apps verwendet werden.
Kann ich meine UWP-App mit WinUI für UWP-Steuerelemente schrittweise auf WinUI aktualisieren, indem WinUI für UWP-Komponenten schrittweise durch WinUI-Komponenten ersetzt wird?
Nein. Windows App SDK können in UWP-Apps nicht verwendet werden, und WinUI für UWP kann nicht mit WinUI gemischt werden. Siehe Migrate von UWP zum Windows App SDK.
Wie schwierig ist es, eine UWP-App zu WinUI zu migrieren?
Das Migrieren von Benutzeroberflächenkomponenten ist üblicherweise nicht kompliziert (für C# und C++/WinRT). Andernfalls hängt die Migrationskosten in erster Linie von:
- Projektdatei und MSBuild-Anpassung: Der Migrationsaufwand variiert abhängig von der fortgeschrittenen MSBuild-Nutzung.
- .NET API-Migration: UWP-Apps mit .NET Native können zu einer derzeit unterstützten .NET-Version mit Native AOT wechseln. Diese Modernisierung unterscheidet sich von der Migration der Benutzeroberfläche zu WinUI.
- Benutzeroberflächenkomponentenbibliotheken: Bibliotheken müssen Versionen für WinUI haben.
- Wenn die UWP-App in der jetzt veralteten C++/CX geschrieben wird, ist eine Quellcodeportierung erforderlich. Weitere Informationen finden Sie unter Umstellen von C++/CX auf C++/WinRT.
Weitere Informationen finden Sie unter Migrate von UWP auf die Windows App SDK.
Wenn ich eine vorhandene UWP-App im Store habe, kann ich eine neue verpackte WinUI-App mit denselben Bezeichnern veröffentlichen?
Ja, aktualisierte Apps können veröffentlicht werden, ohne die Anwendungsidentität zu aktualisieren. Benutzer der alten Version werden auf die neue Version aktualisiert. Dies gilt nur für Desktop-Apps. Xbox- und HoloLens- und Surface Hub-Apps können nicht zu WinUI migriert werden.
Wie verpacke/verteile ich meine WinUI-App?
Wo finde ich Windows App SDK Migrationsleitfaden?
Muss ich XAML-Markup verwenden, wenn ich WinUI verwenden möchte?
Nein. UI-Steuerelemente können im Code erstellt werden. Die Darstellung der Benutzeroberfläche im deklarativen XAML-Markup bietet jedoch viele Vorteile, einschließlich einer verbesserten Entwicklerumgebung.
- Migrieren von UWP zu WinUI: Viele XAML- und UI-Komponenten können wiederverwendet werden, obwohl einige Syntaxanpassungen erforderlich sind.
- Migration von WPF zu WinUI: Viele Konzepte werden übernommen, die Steuerungssätze und APIs unterscheiden sich jedoch.
Verfügt Visual Studio über eine Entwurfsoberfläche / einen UI-Designer für WinUI?
Derzeit nicht. Verwenden Sie XAML-Hot Reload, Live Visual Tree, Live Property Explorer und zugehörige Laufzeittools, um XAML zu prüfen und zu aktualisieren, während die App ausgeführt wird.
Eine vollständige exemplarische Vorgehensweise der für WinUI 3 verfügbaren Laufzeitdesigntools finden Sie unter XAML-Laufzeitdesigntools für WinUI 3.
Ja. WinUI wird als Teil der Windows App SDK ausgeliefert.
Does Windows App SDK WinUI für UWP einschließen?
Nein. WinUI für UWP ist Teil der UWP-Plattform.
Basiert WinUI für UWP und WinUI auf derselben Technologie?
Das trifft nicht vollständig zu. Obwohl WinUI ursprünglich von der WinUI für UWP-Codebasis gestartet wurde, sind sie unterschiedliche Technologien. Beide sind XAML-basierte UI-Frameworks, die über .NET und C++ hinweg funktionieren, aber WinUI für UWP und WinUI sind nicht miteinander kompatibel.
Kann ich WinUI ohne das Windows App SDK verwenden?
Nein. WinUI wird als Teil der Windows App SDK ausgeliefert.
Kann ich WinUI in einer entpackten App verwenden?
Ja. WinUI und viele Windows App SDK APIs funktionieren in entpackten Apps. Einige Windows Funktionen erfordern jedoch Paketidentität, und frameworkabhängige entpackte Apps müssen die Windows App SDK Laufzeit initialisieren. Vergleichen Sie die Optionen in " Paketübersicht " und "Features", die eine Paketidentität erfordern.
Was ist der Unterschied zwischen XAML-Inseln und WinUI?
WinUI ist das ui-Framework, das im Windows App SDK enthalten ist. XAML-Inseln sind eine Hostingtechnik, mit der eine vorhandene Desktop-App XAML-Inhalte zusammen mit der Benutzeroberfläche aus einem anderen Framework platzieren kann.
Der Begriff kann auf ältere System-XAML-Inseln verweisen, die UWP-XAML-Steuerelemente hosten, oder winUI-XAML-Inseln, die Windows App SDK Steuerelemente in unterstützten Desktophosts hosten. Die APIs, Namespaces und Hostanforderungen unterscheiden sich. Sehen Sie sich die Beispiele für Windows App SDK Inseln für WinUI an.
Wenn ich eine WinUI-App erstelle, sieht sie auf Windows 11 und Windows 10 modern aus?
Ja. Die Benutzeroberfläche Ihrer App übernimmt die neuesten Fluent UI Designprinzipien für alle unterstützten Versionen von Windows 11 und Windows 10, bis Version 1809, sowohl in verpackten als auch in unverpackten Szenarien.
Ja. Weitere Informationen finden Sie unter Anwenden von Mica oder Acrylmaterialien in Desktop-Apps für Windows 11.
Wo finde ich WinUI-Beispiele?
Siehe Muster und Ressourcen. Einige wichtige Repositorys:
- WindowsAppSDK-Samples: Veranschaulicht die Verwendung bestimmter Windows App SDK API-Sätze.
- Windows themenspezifische Beispiele: Enthält ein WinUI-Notizenbeispiel, das im Lernprogramm Create a WinUI app verwendet wird.
- WinUI 3 Gallery: Showcases WinUI und Windows App SDK. Auch im Microsoft Store verfügbar.
Wenn ich bereits stark in WPF investiert habe, sollte ich weiterhin WPF verwenden oder die Migration zu WinUI in Betracht ziehen?
Wenn Sie bereits stark in WPF investiert haben, können Sie sie weiterhin für vorhandene Apps verwenden. WPF ist ein ausgereiftes, stabiles Framework, das häufig verwendet wird, um Windows Desktop-Apps zu erstellen.
Erwägen Sie die Verwendung des .NET Upgrade-Assistenten zum Migrieren .NET Framework WPF-Apps zur neuesten .NET Plattform. Sie analysiert Ihre Codebasis und bietet Anleitungen zum Aktualisieren.
Wenn ich eine neue WPF-App erstelle, wird sie im Vergleich zu anderen neuen Windows-Apps veraltet aussehen?
Wenn Sie eine WPF Anwendung mit .NET 9 oder höher entwickeln, können Sie sicherstellen, dass Ihre App dem schlanken, modernen Look von Windows 11 entspricht. Das neue Fluent Design für WPF führt eine zeitgenössische Windows-11-Ästhetik mit integriertem Hell-/Dunkelmodus und Unterstützung für Systemakzentfarben ein. Dadurch wird das Erscheinungsbild Ihrer App modernisiert und eine ansprechende, einheitliche Benutzererfahrung gewährleistet.
Mein Team ist mit dem Erstellen von WinForms-Apps vertraut und passt zu unseren Anforderungen. Sollten wir die Migration zu WinUI oder einem anderen Framework in Betracht ziehen?
Wenn WinForms Ihren Anforderungen entspricht und Ihr Team damit vertraut ist, können Sie WinForms weiterhin für vorhandene Apps verwenden. WinForms ist ein ausgereiftes und stabiles Framework, das häufig für Windows Desktopentwicklung verwendet wird.
Das WinForms-Team investiert weiterhin in die Plattform. Zu den aktuellen Investitionsbereichen gehören:
- Asynchrone Unterstützung für allgemeine Steuerelemente
- Dunkler Modus
- Layoutflexibilität
- Desktopsicherheitsmerkmale wie Zwischenablagezugriff
Plattformübergreifende native Entwicklung
Was sind einige Gründe für die Erstellung plattformübergreifender nativer Apps, die auf Windows abzielen?
Wenn Sie Benutzer auf mehreren Betriebssystemplattformen ansprechen möchten, kann das Erstellen plattformübergreifender Apps mit .NET MAUI oder React Native zahlreiche Vorteile bieten.
- Erreichen: Plattformübergreifende Apps erreichen ein größeres Publikum auf verschiedenen Geräten und Betriebssystemen.
- Codewiederverwendung: Durch die Wiederverwendung von Code auf allen Plattformen wird die Entwicklungszeit und die Kosten reduziert. Das Erstellen separater Apps für Windows, Android, iOS und macOS kann unertragbar teuer sein.
- Konsistente Benutzererfahrung: Plattformübergreifende Frameworks helfen dabei, ein einheitliches Aussehen und Verhalten auf allen Plattformen zu bieten.
- Integration: Plattformübergreifende Apps können weiterhin mit plattformspezifischen Diensten integriert werden, um eine umfassende Erfahrung zu bieten.
Kann ich sicher sein, dass .NET MAUI-Apps gut auf Windows laufen?
Wenn Sie eine .NET MAUI-App für Windows erstellen, handelt es sich bei der Ausgabe um eine WinUI-App. Während der Entwicklung bietet .NET MAUI eine einzige .NET Erfahrung auf allen Plattformen, generiert aber plattformspezifischen Code unter der Haube. Dadurch wird sichergestellt, dass .NET MAUI Apps auf jeder Plattform gut funktionieren und eine systemeigene Benutzererfahrung bieten.
Wie kann .NET MAUI systemeigene Geräte-APIs auf jeder Plattform bereitstellen?
.NET MAUI bietet eine einheitliche .NET Erfahrung in Windows, iOS, Android und macOS. Es bietet plattformübergreifende APIs für allgemeine Funktionen wie Speicher, Netzwerk und Gerätesensoren. Sie können plattformspezifische APIs auch aufrufen oder spezielle Implementierungen für jede Plattform bereitstellen.
Kann ich mit WinUI beginnen und später .NET MAUI integrieren, wenn ich schließlich plattformübergreifende Szenarien ansprechen möchte?
Zurzeit nicht. Obwohl .NET MAUI WinUI bei der Ausführung auf Windows verwendet, sollten Teams, die davon ausgehen, dass mehrere Plattformen als Ziel verwendet werden, mit .NET MAUI oder React Native für Desktop beginnen.
Unser Team verfügt über starke Web-Front-End-Entwicklungskompetenzen. Sollten wir die Verwendung von React Native für Desktop in Betracht ziehen?
Teams mit starker Webentwicklungserfahrung möchten möglicherweise React Native für Desktop in Betracht ziehen. Es enthält React Native für Windows und macOS. Mit dem Ansatz "Einmal lernen, überall schreiben" können vorhandene JavaScript-, TypeScript- und React-Fähigkeiten verwendet werden, um systemeigene Windows- und macOS-Apps zu erstellen.
React Native for Desktop rendert die Benutzeroberfläche direkt auf native Primitiven und liefert native Leistung sowie Plattformfähigkeiten.
Weitere Informationen zum Einstieg finden Sie in der React Native for Desktop-Dokumentation.
Werden noch andere Windows-Geräte von React Native für Desktop unterstützt?
React Native-Apps können auf allen Geräten bereitgestellt werden, die von Windows 10 und höher unterstützt werden, einschließlich PCs, Tablets, 2-in-1s, Xbox und Mixed Reality-Geräten.
Was sollte ich verwenden, wenn ich Apps entwickeln möchte, die unter Windows und Xbox funktionieren?
Wenn Ihre App Xbox, HoloLens oder IoT unterstützen muss, wird UWP empfohlen. Windows App SDK unterstützt diese Plattformen nicht. Verwenden Sie für die Spieleentwicklung die Microsoft Game Development Kit.
Was sollte ich verwenden, wenn ich Apps entwickeln möchte, die auf Windows und Surface Hub funktionieren?
Wenn Sie sowohl auf Windows als auch auf Surface Hub abzielen, wird UWP empfohlen.
Hybrid- und Webentwicklung
Was sind Hybrid-Apps, und warum sollte ich eins erstellen?
Hybrid-Apps kombinieren das Beste aus der Web- und nativen App-Entwicklung. Ihr Kern basiert auf Webtechnologien wie HTML, CSS und JavaScript und ist in einen systemeigenen Container eingeschlossen, der access bestimmten systemeigenen Plattformfeatures und -hardware bietet. Sie können auch über App-Stores verteilt werden.
Der Hauptvorteil besteht darin, dass Hybrid-Apps es Ihnen ermöglichen, eine einzelne App zu erstellen, die auf mehreren nativen Plattformen und im Web ausgeführt werden kann, wodurch die Entwicklungszeit und die Kosten reduziert werden. Beispiele für Hybrid-App-Entwicklungsplattformen sind:
- Electron für Desktop-Apps
- Ionic für mobile Apps
- .NET MAUI Blazor Hybrid für plattformübergreifende Apps
Wie erstelle ich Progressive Web-Apps (PWAs) mit nativen Eindruck auf Windows?
Weitere Informationen finden Sie unter Web development on Windows and Overview of Progressive Web-Apps.
Was ist eine .NET MAUI Blazor Hybrid-App?
Müssen die Webkomponenten einer .NET MAUI Hybrid-App mit Blazor erstellt werden?Mit .NET MAUI können Blazor-Apps nativ auf Windows, iOS, Android und macOS ausgeführt werden. Auf diese Weise können Sie hybride Client-Apps erstellen, die Blazor- und .NET MAUI-Komponenten in einer einzigen nativen Client-App kombinieren und vollzugriff auf systemeigene Plattformfunktionen haben.
Weitere Informationen finden Sie unter ASP.NET Core Blazor Hybrid.
Nein. Ab .NET 9 enthält .NET MAUI ein HybridWebView-Steuerelement, mit dem andere javaScript-basierte UIs in einer systemeigenen App gehostet werden können.
Auf diese Weise können Sie Angular-, React-, Vue- oder andere HTML/JavaScript-Apps in einer .NET MAUI-App hosten. Das Hybridsteuerelement stellt die Interoperabilität zwischen C# und JavaScript bereit, sodass C#-Code JavaScript-Funktionen aufrufen kann und umgekehrt.
Können andere systemeigene App-Typen Blazor-Hybridkomponenten hosten?
Ja. WPF- und WinForms-Apps können auch Blazor-Hybridkomponenten hosten, wodurch moderne Web-UIs zu bestehenden Apps hinzugefügt werden können. Dies wird für WPF- oder WinForms-Apps, die auf .NET Framework basieren, nicht unterstützt.
Muss meine gesamte App eine Hybrid-App sein oder kann ich systemeigene und hybride Komponenten kombinieren und abgleichen?
Systemeigene und Hybridkomponenten können innerhalb einer App gemischt werden. Beispielsweise kann der Kern einer App mit .NET MAUI Komponenten erstellt werden, während Hybridkomponenten zusätzliche Funktionen bereitstellen. Dies ermöglicht die Kombination der Leistung und Funktionen systemeigener Komponenten mit der Flexibilität und Kosteneffizienz von Hybridkomponenten.
Welche Optionen habe ich, um .NET-basierte Web-Anwendungen zu erstellen, die auf modernen Browsern unter Windows großartig aussehen?
Web apps bieten die größtmögliche Reichweite jeder Client-App-Plattform. Zu den Optionen zum Erstellen ansprechender .NET Web-Apps gehören:
- ASP.NET Core Apps mit Razor Pages
- ASP.NET Core MVC-Apps
- ASP.NET Core Blazor-Apps mit Hostingmodelloptionen:
- Blazor WebAssembly-Technologie
- Blazor Server
Blazor-Hostingmodelle können jetzt auf Komponentenebene konfiguriert werden und ermöglichen Szenarien wie das Hosten einer Blazor WebAssembly-Komponente in einer Blazor Server-App.
Weitere Informationen finden Sie in der dokumentation ASP.NET Core.
Wählen Sie einen Ansatz aus, und verstehen Sie die Investitionen von Microsoft
There sind so viele Frameworkoptionen zum Erstellen von Apps, die auf Windows abzielen! Wie entscheide ich mich?
Windows ist eine offene Plattform, die viele Technologien unterstützt. Hier sind einige Kriterien, mit denen Sie eine Plattform auswählen können:
- Entwickeln Sie primär für Windows oder plattformübergreifend?
- Welche Sprachen oder Fähigkeiten haben Sie bereits – .NET, JavaScript, etwas anderes?
- Benötigen Sie Zugriff auf Windows-spezifische APIs?
- Welche Framework-Funktionen entsprechen den Anforderungen Ihrer App am besten?
- Weitere Vergleichsfaktoren finden Sie in dieser Tabelle .
Bei vielen Geschäfts-Apps wählen Teams häufig basierend auf vorhandenen Fähigkeiten und dem, was das Team am bequemsten verwendet.
Wie wähle ich den besten Entwicklungsansatz für meine Web-App aus?
Berücksichtigen Sie beim Auswählen eines Entwicklungsansatzes für Ihre Web-App Folgendes:
- Blazor wird für das Erstellen von Front-End-Web-Apps mit .NET empfohlen. Damit können Sie sowohl das Front-End als auch das Back-End mithilfe von .NET erstellen, Zeit und Kosten sparen und für Unternehmens-Apps besonders gut geeignet sein.
- JavaScript-Webanwendungen sind nach wie vor sinnvoll, wenn Sie vorhandene JavaScript-Fähigkeiten nutzen möchten oder in etablierte JavaScript-Bibliotheken oder -Frameworks integrieren müssen.
- Vorhandene Apps, die ältere Frameworks wie Webformulare, MVC oder Razor Pages verwenden, werden weiterhin unterstützt und können weiterhin entwickelt und verwaltet werden.
Wer erstellt Apps mit WinUI heute?
Viele Kunden bauen heute mit WinUI, einschließlich Adobe und Apple:
- Adobe Fresco, eine kostenlose Zeichnungs- und Mal-App.
- Die Apple Music, Apple TV und Apple Devices-Apps wurden mit WinUI und dem Windows App SDK erstellt.
Microsoft hat auch viele WinUI-Apps erstellt, z. B. Windows 11 Datei-Explorer und die Fotos-App.
Who erstellt heute .NET MAUI Apps?
Viele Kunden, einschließlich Microsoft, erstellen plattformübergreifende Apps mit .NET MAUI. Beispielsweise wird die mobile Microsoft Azure-App mit .NET MAUI erstellt.
Weitere Informationen finden Sie im .NET Kunden-Showcase.
Who erstellt heute WPF Apps?
Die meisten der Microsoft Visual Studio UI werden mit WPF erstellt. Die Visual Studio-IDE selbst ist ein wichtiges Beispiel für eine komplexe, leistungsstarke WPF-App.
Wer erstellt heute Blazor-Apps?
Das FlightPulse Airline-System von GE Digital verwendet Blazor für die Back-End-Konfiguration aller Elemente, die Piloten sehen, und bringt Sensordaten und Analysen direkt zu den Piloten, um die Sicherheit und Effizienz zu verbessern.
Weitere Blazor-Kundengeschichten auf der .NET-Website anzeigen.
Sprachauswahl (.NET vs C++)
Sollte ich C# oder C++ für meine Windows-App verwenden?
Verwenden Sie in den meisten Fällen C# (.NET). C# bietet schnellere Entwicklung, Speichersicherheit, umfangreiche Bibliotheken und hervorragende Tools. Die meisten Windows Apps – einschließlich WinUI 3, WPF, WinForms und .NET MAUI Apps – werden am besten mit C# erstellt.
Verwenden Sie C++ , wenn Sie direkten Hardwarezugriff, minimalen Laufzeitaufwand oder Interoperabilität mit vorhandenen C++-Codebasen benötigen. Allgemeine C++-Szenarien umfassen Game Engines (DirectX), Treiber, Dienstprogramme auf Systemebene und leistungskritische Komponenten.
Faktor C# (.NET) C++ Entwicklungsgeschwindigkeit ✅ Schneller – verwalteter Speicher, reichhaltiges Ökosystem ⚠– Langsamer — manuelles Ressourcenmanagement Laufzeitleistung ✅Hervorragend mit modernem .NET (AOT, Span<T>) ✅ Optimal möglich – keine GC-Pausen Speichersicherheit ✅ Garbage-Collected ⚠️ Manuell — Risiko von Lecks und Schwachstellen Windows API-Zugriff ✅ Über die C#/WinRT-Projektion ✅ Über C++/WinRT-Projektion WinUI 3-Unterstützung ✅ Vollständiger Support ✅ Vollständiger Support über C++/WinRT Plattformübergreifend ✅.NET wird unter Windows, Linux, macOS ausgeführt ✅ Mit plattformspezifischem Code Am besten geeignet für Geschäfts-Apps, CRUD, Dienste, benutzeroberflächenintensive Apps Spiele, Treiber, Systemtools, geringe Latenz Sie können auch beides kombinieren: Erstellen Sie Ihre App in C# und rufen Sie leistungskritischen systemeigenen Code über P/Invoke (CsWin32) oder eine C++/WinRT-Komponente auf.
Wie kann ich Win32-APIs aus C# aufrufen?
Verwenden Sie CsWin32, einen Quellgenerator, der während der Buildzeit typsichere P/Invoke-Signaturen generiert. Sie fügen das
Microsoft.Windows.CsWin32NuGet-Paket hinzu, listen die APIs auf, die Sie in einerNativeMethods.txtDatei benötigen, und rufen sie über eine generiertePInvokeKlasse auf.CsWin32 ersetzt handschriftlichen
[DllImport]Deklarationen und funktioniert in jedem C#-Projekt – WinUI, WPF, WinForms oder Konsole. Eine schrittweise exemplarische Vorgehensweise finden Sie unter Aufrufen von Win32-APIs aus einer C#-Windows-App (CsWin32).
Was ist C++/WinRT und wann sollte ich es verwenden?
C++/WinRT ist eine C++17-Standardsprachenprojektion für Windows-Runtime-APIs. Verwenden Sie sie beim Erstellen Windows Apps in C++, die WinRT-APIs nutzen oder erstellen. Es ersetzt C++/CX und die Windows-Runtime C++-Vorlagenbibliothek (WRL).
Wählen Sie C++/WinRT in folgenden Fällen aus:
- Sie erstellen eine C++-WinUI 3-App
- Sie müssen Windows-Runtime komponenten erstellen, die von anderen Sprachen verwendet werden
- Sie migrieren von C++/CX
Was ist C#/WinRT und wann benötige ich es?
C#/WinRT bietet WinRT-Projektionsunterstützung für C#. In den meisten Fällen interagieren Sie nicht direkt damit – .NET-Apps, die auf Windows abzielen, erhalten automatisch über Target-Framework-Moniker (TFMs) Zugriff auf WinRT-APIs. Sie benötigen C#/WinRT explizit beim Erstellen Windows-Runtime Komponenten in C# oder beim Generieren von Interopassemblys für WinRT-Komponenten von Drittanbietern.
Verpackung, Bereitstellung und Aktualisierungen
Was ist der Unterschied zwischen Apps, die verpackt, entpackt und mit externem Speicherort verpackt sind?
Eine verpackte App enthält ihre Dateien, Identitäts- und Bereitstellungsinformationen in einem Paket wie MSIX. Eine entpackte App verwendet einen Installationsprogramm- oder Bereitstellungsprozess außerhalb des Windows Paketsystems und besitzt standardmäßig keine Paketidentität. Eine mit externem Speicherort verpackte App verwendet ein kleines Identitätspaket, während extern gespeicherte Binärdateien und der vorhandene Installationsprogramm- und Aktualisierungsprozess beibehalten werden.
Siehe Verpackungsübersicht zu Anforderungen und Kompromissen.
Benötige ich paketidentität?
Dies hängt von den Windows Features ab, die Ihre App verwendet. Einige Hintergrundausführungen, Pushbenachrichtigungen, Shellerweiterungen, Zuordnungen und Windows KI-Szenarien erfordern paketidentität. Andere Windows App SDK Funktionen, einschließlich WinUI- und lokalen App-Benachrichtigungen, können ohne diese funktionieren.
Weitere Informationen finden Sie unter Features, für die Paketidentität benötigt wird. Wenn Sie eine Identität benötigen, aber ein vorhandenes Installationsprogramm beibehalten müssen, sollten Sie das Verpacken mit externem Speicherort in Betracht ziehen.
Was ist der Unterschied zwischen frameworkabhängiger und eigenständiger Bereitstellung?
Eine frameworkabhängige App verwendet Windows App SDK Laufzeitpakete, die separat auf dem Gerät installiert sind. Dadurch wird die Bereitstellungsgröße der App reduziert. Eine eigenständige App enthält den Inhalt des Windows App SDK-Frameworkpakets zusammen mit der App, was zwar die Bereitstellungsgröße erhöht, es der App jedoch ermöglicht, diese Frameworkkomponenten selbst zu verwalten.
APIs, die von zusätzlichen MSIX-Paketen wie dem Singleton-Paket abhängen, können separate Bereitstellungs- oder Laufzeitunterstützungsprüfungen auch in einer eigenständigen App erfordern. Paketierung und Laufzeitbereitstellung sind voneinander getrennte Entscheidungen. Weitere Informationen finden Sie unter Übersicht über die Windows App SDK-Bereitstellung.
Wird meine WinUI-App automatisch für Endbenutzer aktualisiert?
Eine WinUI-App kann über den Store, eine APPInstaller-Datei oder über ein vorhandenes MSI- oder setup.exe-Paket bereitgestellt werden. Der Store und AppInstaller unterstützen automatische Updates für Endbenutzer, die automatische Updates aktiviert haben, aber MSI/setup.exe Apps müssen ihren eigenen Updatemechanismus bereitstellen.
WinUI-XAML-Projekte erfordern MSBuild, aber Visual Studio ist nicht erforderlich. Sie können die .NET SDK- und WinUI-Vorlagen verwenden, um MSBuild über
dotnet builddie Befehlszeile auszuführen. Windows App SDK Komponenten, die WinUI nicht verwenden, können auch in unterstützte MSBuild-basierte Desktopprojekte integriert werden.
Windows Künstliche Intelligenz (KI)
Wie wähle ich zwischen Windows AI-APIs, Foundry Local und Windows ML aus?
Verwenden Sie Windows KI-APIs für einsatzbereite, Windows verwaltete KI-Funktionen. Verwenden Sie Foundry Local , um unterstützte Sprach- und Sprachmodelle lokal zu ermitteln, herunterzuladen und auszuführen. Verwenden Sie Windows ML, um benutzerdefinierte ONNX-Modelle mit Ausführungsanbietern für verfügbare CPU-, GPU- und NPU-Hardware auszuführen.
Hardware-, Windows-Version, Paketidentität, Modell und Verteilungsanforderungen variieren. Überprüfen Sie die aktuellen Anforderungen für die api oder Laufzeit, die Sie auswählen, anstatt anzunehmen, dass jede Windows KI-Funktion auf jedem PC verfügbar ist.
Was sollte ich berücksichtigen, bevor ich ein KI-unterstütztes Feature versenden kann?
Definieren Sie die beabsichtigte Verwendung und Einschränkungen des Features, bewerten Sie Qualität und Sicherheit mit repräsentativen Daten, geben Sie gegebenenfalls KI-Verhalten offen, schützen Sie Benutzerdaten und stellen Sie einen Fallback bereit, wenn das Modell oder die erforderliche Hardware nicht verfügbar ist. Siehe Verantwortungsvolle Entwicklung generativer KI unter Windows.
Leistung und Optimierung
Was kann ich tun, damit meine Windows-App großartig für die Endbenutzer wirkt?
Siehe Windows Anwendungsentwicklung – Bewährte Methoden und Windows Übersicht über app-Leistung und Grundlagen.
Compatibility
Willen meine Benutzer jemals Windows aktualisieren müssen, um meine WinUI-App zu verwenden?
Windows App SDK Apps können auf unterstützten Editionen von Windows 10, Version 1809 und höher ausgeführt werden, aber einzelne APIs und App-Features können neuere Windows Versionen oder Hardware erfordern. Für die Produktionsunterstützung muss das Gerät eine Windows Edition und Version ausführen, die noch unterstützt wird, und die App sollte eine unterstützte Windows App SDK Version mit aktuellen Wartungsupdates verwenden. Siehe Windows App SDK Support- und Veröffentlichungskanäle.
Kann ich Arm64 mit meiner WinUI-App als Ziel verwenden?
Ja. Erstellen Sie eine systemeigene Arm64-App für optimale Leistung und Effizienz. Bei einer großen C++-Codebasis mit x64-Abhängigkeiten können Sie Module inkrementell migrieren. Windows 11 auf Arm können auch viele vorhandene x86- und x64-Apps über Prism-Emulation ausführen, aber Sie sollten die Leistung und Kompatibilität auf repräsentativen Arm-Geräten testen.
Veraltete Versionen und Migrationen
Sind UWP/WinUI für UWP veraltet?
Nein. UWP und WinUI für UWP werden weiterhin unterstützt und erhalten Fehler-, Zuverlässigkeits- und Sicherheitsupdates. WinUI und die Windows App SDK sind jedoch der empfohlene Weg für neue allgemeine Windows Desktop-Apps und erhalten die meisten neuen Plattforminvestitionen.
UWP-Unterstützung für moderne .NET mit nativem AOT ist allgemein verfügbar und ist der Standardmäßige C#-UWP-Projekttyp in Visual Studio 2026. Das Verschieben einer vorhandenen UWP-App von .NET Native auf moderne .NET ist ein separater Modernisierungsschritt vom Migrieren der Benutzeroberfläche zu WinUI. Weitere Informationen finden Sie unter Modernisieren Ihrer UWP-App mit .NET und nativem AOT.
Wann sollte ich eine UWP/WinUI für UWP-App zu WinUI migrieren?
UWP-Entwickler sollten sich nicht unter Druck setzen, zu migrieren, wenn sie mit UWP und seinem Featuresatz zufrieden sind – für viele Apps kann die richtige Wahl darin bestehen, auf UWP zu bleiben.
Apps, die von den neuesten Investitionen in die Windows-Plattform und .NET profitieren möchten, sollten in Betracht ziehen, auf das Windows App SDK umzusteigen. Siehe Migrate von UWP zum Windows App SDK.
Wann sollte ich *nicht* eine UWP + WinUI für UWP-App zu WinUI migrieren?
Fahren Sie mit der Verwendung von UWP fort, wenn Sie für Xbox, Surface Hub oder HoloLens erstellen.
Ist WPF abgekündigt?
Nein. WPF wird unterstützt, empfohlen und empfängt weiterhin Funktionsupdates. Siehe die WPF-Roadmap auf GitHub.
Ist WinForms veraltet?
Nein. WinForms wird unterstützt und empfängt weiterhin Funktionsupdates. Sehen Sie die Windows Forms Roadmap auf GitHub.
Ist die Windows-Runtime (WinRT) veraltet?
Nein. WinRT ist eine Binärschnittstelle (Application Binary Interface, ABI), die die Interoperabilität über mehrere Sprachen hinweg ermöglicht. WinRT ist die Entwicklung von COM, und die Windows App SDK bietet die meisten Funktionen über WinRT-APIs.
Versionshinweise
Wo finde ich Versionshinweise für Windows App SDK?
Die neuesten Versionshinweise finden Sie auf der Seite "Neuigkeiten ".
Verwandte Inhalte
Windows developer