Windows Presentation Foundation (WPF) wurde im Jahr 2006 als Teil von .NET Framework 3.0 veröffentlicht. Das Feature für XAML-Browseranwendungen (XBAP), mit dem WPF-Apps in einem Webbrowser gehostet und ausgeführt werden können, wurde gleichzeitig als Teil von WPF eingeführt. Zum Zeitpunkt der Veröffentlichung von WPF und XBAP im Jahr 2006 waren die beliebtesten Webbrowser Internet Explorer 7, Mozilla Firefox 2 und Safari 2. Google Chrome wurde erst zwei Jahre später im Jahr 2008 veröffentlicht.
XBAP verwendet die ClickOnce-Bereitstellungstechnologie in Browsern, eine Microsoft-Technologie, mit der der Benutzer eine App installieren und ausführen kann, indem er auf einen Link auf einer Webseite klickt. Diese Technologie basierte jedoch stark auf der Unterstützung von NPAPI (Netscape Plugin Application Programming Interface) in Browsern. NPAPI wurde in den letzten Jahren aufgrund von Sicherheits- und Stabilitätsproblemen nach und nach abgeschafft. Wichtige Browser wie Edge, Chrome, Firefox und Safari haben die Unterstützung für NPAPI-Plug-Ins entfernt, was bedeutet, dass XBAP-Apps in diesen Browsern nicht mehr ausgeführt werden können.
Unterstützung für XBAPs
Welchen Support bietet Microsoft derzeit für XBAPs an?
XBAPs werden mit .NET Framework unterstützt. WPF für .NET enthält keine XBAP-Unterstützung.
Gibt es unterstützte Browser, die XBAP nativ unterstützen?
Es gibt keine unterstützten Browser mehr, die für XBAP entwickelt wurden. Der Support für Internet Explorer 11 endete am 15. Juni 2022. Einige Browser, z. B. Microsoft Edge und Google Chrome, verfügen über das Feature „Internet Explorer-Modus“ (IE-Modus), das Internet Explorer-Legacyunterstützung hinzufügt. Diese Modi wurden nicht für XBAPs entwickelt, daher funktionieren einige XBAP-Features möglicherweise nicht. Weitere Informationen finden Sie unter Was ist der Internet Explorer-Modus?.
Wie kann ich meine XBAP ausführen?
XBAPs müssen auf einem Webserver bereitgestellt werden, und Sie müssen einen Browser verwenden, der mit dem Internet Explorer-Modus (IE-Modus) kompatibel ist. Möglicherweise müssen Sie die lokale Richtlinie konfigurieren, um Ihre App in der entsprechenden IE-Sicherheitszone zu aktivieren. Weitere Informationen finden Sie unter Internet Explorer-Modus (IE) und Einrichten der Legacybrowserunterstützung für Microsoft Edge im IE-Modus.
Migrationsoptionen
Kann ich meine XBAP in eine WPF-Anwendung konvertieren?
Ja. Sie können Ihre App zu einer WPF-Standardanwendung migrieren und über ein Installationsprogramm bereitstellen. Sie können WPF-Apps weiterhin mit ClickOnce veröffentlichen, aber ClickOnce erfordert einen Browser mit aktiviertem IE-Modus oder einem Plug-In, das ClickOnce aktiviert.
Ich benötige einen Browser für die Ausführung, was sind meine Optionen?
ASP.NET Core mit Blazor und WebAssembly
Blazor ist eine Full-Stack-Web-App, die C# verwendet. Je nachdem, wie gut Ihr Code organisiert und unterteilt ist, müssen Sie möglicherweise das Front-End Ihrer App in Blazor neu schreiben. Blazor-Apps können mithilfe von WebAssembly bereitgestellt werden, wodurch die App im Browser vollständig clientseitig ausgeführt werden kann.
Weitere Informationen finden Sie unter Was ist Blazor?.
.NET MAUI
Wenn Sie Ihre App als XBAP erstellt haben, damit sie unter anderen Betriebssystemen als Windows ausgeführt werden kann, versuchen Sie, Ihre App in .NET MAUI zu konvertieren, wo auch XAML für die Benutzeroberfläche verwendet wird. .NET MAUI unterscheidet sich von WPF, obwohl viele ähnliche Konzepte verwendet werden. Weitere Informationen finden Sie unter Was ist .NET MAUI?.
OpenSilver
Das OpenSilver-Projekt wurde als Alternative zu Silverlight erstellt. Silverlight war ein Teil von WPF und wurde vor langer Zeit eingestellt. Ihr XBAP-Projekt kann möglicherweise gut in OpenSilver konvertiert werden. Weitere Informationen finden Sie auf der OpenSilver-Website und im GitHub-Repository.