Mobile Blazor 绑定疑难解答

重要

此项目是一个实验性版本。 我们希望你尝试实验性移动 Blazor 绑定并提供反馈 https://github.com/xamarin/MobileBlazorBindings

尝试在 iOS 上运行,收到“无 iOS 代码签名密钥”错误

如果选择运行 iOS 项目,可能会收到一个错误,指示没有 iOS 代码签名密钥。 这可能意味着你尝试部署到物理 iOS 设备 (,例如 iPhone) ,但没有正确的配置。 如果打算使用 iOS 模拟器,则选择 iPhoneSimulator 目标平台。

iPhone 和 iPhoneSimulator 目标平台选择

混合应用不显示 HTML Web UI 内容

HTML Web UI 内容不显示可能是由多种原因引起的。 检查应用中的每一项:

  1. 检查浏览器版本不匹配。 Web UI 显示在本机应用中托管的浏览器组件中。 浏览器组件可以依赖于设备上已安装的 Web 浏览器。

    对于 WPF (Windows) ,请检查你是否具有 Microsoft Edge Canary 频道。 此版本的 Microsoft Edge 与其他 Microsoft Edge 安装并排安装。

  2. 检查浏览器组件中的脚本错误。 检查 调试混合应用 主题,了解如何检查浏览器脚本错误。

  3. 检查特定于平台的项目是否调用适当的 WebViewBlazorHybridInit 方法, (某些变体可能) :

    • 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 存储库