Windows Presentation Foundation (WPF) был выпущен в составе платформа .NET Framework 3.0 в 2006 году. Функция приложения браузера XAML (XBAP), которая позволяет размещать и запускать приложения WPF в веб-браузере, также появилась в то же время как часть WPF. Во время выпуска WPF и XBAP в 2006 году самые популярные веб-браузеры были Internet Explorer 7, Mozilla Firefox 2 и Safari 2. Google Chrome еще не был доступен, так как он был выпущен два года спустя в 2008 году.
XBAP использует технологию развертывания ClickOnce в браузерах, которая является технологией Майкрософт, которая позволяет пользователю устанавливать и запускать приложение, щелкнув ссылку на веб-странице. Однако эта технология сильно зависит от поддержки NPAPI (интерфейс программирования подключаемых модулей Netscape) в браузерах. NPAPI был прекращен в последние годы из-за проблем безопасности и стабильности. Крупные браузеры, такие как Edge, Chrome, Firefox и Safari, удалили поддержку подключаемых модулей NPAPI, что фактически означает, что приложения XBAP больше не могут работать в этих браузерах.
Поддержка XBAPs
Что такое текущий уровень поддержки Майкрософт для XBAPs?
XBAPs поддерживаются с платформа .NET Framework. WPF для .NET не включает поддержку XBAP.
Есть ли какие-либо поддерживаемые браузеры, которые изначально поддерживают XBAP?
Не совсем, больше нет поддерживаемых браузеров, предназначенных для XBAP. Поддержка Internet Explorer 11 закончилась 15 июня 2022 г. Некоторые браузеры, такие как Microsoft Edge и Google Chrome, имеют функцию режима Internet Explorer (режим IE), которая добавляет устаревшую поддержку Internet Explorer. Эти режимы не предназначены для XBAP, поэтому некоторые функции XBAP могут не работать. Дополнительные сведения см. в разделе "Что такое режим Internet Explorer (IE).
Разделы справки запустить XBAP?
XBAPs необходимо развернуть на веб-сервере и использовать браузер с совместимостью режима Internet Explorer (режим IE). Чтобы включить приложение в соответствующей зоне безопасности IE, может потребоваться настроить локальную политику. Дополнительные сведения см. в разделе "Что такое Internet Explorer (IE) и настройка устаревшей поддержки браузера для Microsoft Edge в режиме IE.
Варианты переноса
Можно ли преобразовать XBAP в приложение WPF?
Да. Вы можете перенести приложение в стандартное приложение WPF и развернуть его с помощью установщика. Вы по-прежнему можете опубликовать приложение WPF с помощью ClickOnce, но ClickOnce требует браузера с включенным режимом IE или подключаемым модулем, который включает ClickOnce.
Мне нужно запустить в браузере, каковы мои параметры?
ASP.NET Core с помощью Blazor и WebAssembly
Blazor — это веб-приложение полного стека, использующее C#. В зависимости от того, насколько хорошо организован и разделен код, может потребоваться переписать интерфейс приложения в Blazor. Приложения Blazor можно развернуть с помощью WebAssembly, что позволяет приложению запускать полностью клиентская часть в браузере.
Дополнительные сведения см. в разделе "Что такое Blazor".
.NET MAUI
Если вы создали приложение в качестве XBAP, чтобы оно могло работать в операционных системах, отличных от Windows, попробуйте преобразовать приложение в .NET MAUI, который также использует XAML для своего пользовательского интерфейса. .NET MAUI отличается от WPF, хотя они используют множество аналогичных концепций. Дополнительные сведения см. в разделе "Что такое .NET MAUI".
OpenSilver
Проект OpenSilver был создан в качестве альтернативы Silverlight. Silverlight был подмножеством WPF, который был прекращен давно. Проект XBAP может преобразоваться в OpenSilver. Дополнительные сведения см. на веб-сайте OpenSilver и репозитории GitHub.