針對行動裝置 Blazor 系結進行疑難排解
重要
此專案是實驗性版本。 我們希望您嘗試實驗性行動裝置 Blazor 系結,並在 提供意見反應 https://github.com/xamarin/MobileBlazorBindings 。
嘗試在 iOS 上執行,收到「沒有 iOS 程式碼簽署金鑰」錯誤
如果您選擇執行 iOS 專案,您可能會收到錯誤,指出沒有 iOS 程式碼簽署金鑰。 這可能表示您嘗試部署至實體 iOS 裝置, (例如 iPhone) ,但沒有正確的設定。 如果您想要使用 iOS 模擬器,則會選取 iPhoneSimulator 目標平臺。
混合式應用程式不會顯示 HTML Web UI 內容
未顯示的 HTML Web UI 內容可能是因為數個原因所造成。 檢查您的應用程式中的每個專案:
檢查瀏覽器版本不符。 Web UI 會顯示在裝載于原生應用程式的瀏覽器元件中。 瀏覽器元件可以相依于裝置上已安裝的網頁瀏覽器。
針對 WPF (Windows) ,請檢查您有 Microsoft Edge Canary 通道。 此版本的 Microsoft Edge 會與其他 Microsoft Edge 安裝並存安裝。
檢查瀏覽器元件中的腳本錯誤。 請檢查 偵錯混合式應用程式 主題,以瞭解如何檢查瀏覽器腳本錯誤。
檢查平臺特定專案是否呼叫適當的
WebView
BlazorHybrid
Init
方法, (某些變化可能是預期) :Android:在檔案
OnCreate
方法呼叫BlazorHybridAndroid.Init()
中MainActivity.cs
:protected override void OnCreate(Bundle savedInstanceState) { Microsoft.MobileBlazorBindings.WebView.Android.BlazorHybridAndroid.Init(); ... ```
iOS:在檔案
Main
方法呼叫BlazorHybridIOS.Init()
中Main.cs
: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 專案不需要 this.)
CSS 樣式無法運作
請參閱 CSS 疑難排解一節。
如需更多解決方案,請前往何處
如果您仍然停滯或遇到問題,請記錄問題來連絡 GitHub 存放庫 。