Mobile Blazor 绑定疑难解答
重要
此项目是一个实验性版本。 我们希望你尝试实验性移动 Blazor 绑定并提供反馈 https://github.com/xamarin/MobileBlazorBindings。
尝试在 iOS 上运行,收到“无 iOS 代码签名密钥”错误
如果选择运行 iOS 项目,可能会收到一个错误,指示没有 iOS 代码签名密钥。 这可能意味着你尝试部署到物理 iOS 设备 (,例如 iPhone) ,但没有正确的配置。 如果打算使用 iOS 模拟器,则选择 iPhoneSimulator 目标平台。
混合应用不显示 HTML Web UI 内容
HTML Web UI 内容不显示可能是由多种原因引起的。 检查应用中的每一项:
检查浏览器版本不匹配。 Web UI 显示在本机应用中托管的浏览器组件中。 浏览器组件可以依赖于设备上已安装的 Web 浏览器。
对于 WPF (Windows) ,请检查你是否具有 Microsoft Edge Canary 频道。 此版本的 Microsoft Edge 与其他 Microsoft Edge 安装并排安装。
检查浏览器组件中的脚本错误。 检查 调试混合应用 主题,了解如何检查浏览器脚本错误。
检查特定于平台的项目是否调用适当的
WebView
BlazorHybrid
Init
方法, (某些变体可能) :Android:在
MainActivity.cs
文件OnCreate
方法调用BlazorHybridAndroid.Init()
中:protected override void OnCreate(Bundle savedInstanceState) { Microsoft.MobileBlazorBindings.WebView.Android.BlazorHybridAndroid.Init(); ... ```
iOS:在
Main.cs
文件Main
方法调用BlazorHybridIOS.Init()
中:static void Main(string[] args) { Microsoft.MobileBlazorBindings.WebView.iOS.BlazorHybridIOS.Init(); ...
Windows:在文件
MainWindow
构造函数调用BlazorHybridWindows.Init()
中App.cs
:public MainWindow() { Microsoft.MobileBlazorBindings.WebView.Windows.BlazorHybridWindows.Init(); ...
macOS:在文件
Main
方法调用BlazorHybridMacOS.Init()
中Main.cs
:private static void Main(string[] args) { Microsoft.MobileBlazorBindings.WebView.macOS.BlazorHybridMacOS.Init(); ...
混合应用不加载静态资产,如 CSS 和图像
如果混合应用显示 HTML 呈现的内容,但没有 CSS 和图像,则可能意味着未找到静态资产。
以下是一些可能的原因和修复:
确保使用正确的路径。 静态资产使用 Blazor 静态文件路径模式(即
_content/<PROJECT_NAME>/path/to/the/file.css
) 进行引用。 例如,在名为MySampleProject
CSS 文件的wwwroot/css/bootstrap/bootstrap.min.css
项目中,将引用为_content/MySampleProject/css/bootstrap/bootstrap.min.css
.对于 Android、iOS 和 macOS,请确保特定于平台的项目或包 直接引用包含 静态资产的项目或包。 它们使用的 CSPROJ 文件类型要求引用直接 (项目到项目) 而不是仅传递 (,即项目到项目到项目) 。 (Windows 项目不需要此项目。)
CSS 样式不起作用
请参阅 CSS 故障排除部分。
在何处获取更多解决方案
如果仍然遇到问题,请通过记录问题联系 GitHub 存储库 。