記錄一個狀況:MAUI app 無法在 Windows 10 22H2 環境上執行。
問題描述
同一個 MAUI 專案,在 Windows 11 機器上執行沒問題,但是無法在 Windows 10 機器上執行。
- 兩台機器上面的 Visual Studio 版本相同,都是 VS 2022 17.5.0 Preview 2.0。
- Windows 10 版本是 22H2 build 19045.2364。
- MAUI 專案採用了 Blazor Hybrid 技術,目標平台為 .NET 7。
在 Windows 10 機器上,使用 Visual Studio 2022 開啟我的 MAUI 專案之後,按 F5 或 Ctrl+F5 都沒反應,而 Output 視窗裡面有錯誤訊息:
The program 'MyMauiApp.exe' has exited with code 2147942405 (0x80070005).
此狀況與 MAUI 問題單 #10280 的描述很像。此外,我在 Windows 事件檢視器裡面也有發現兩筆相關的錯誤訊息。一個是 Application Error:
事件檢視器中的另一個錯誤是來自 .NET Runtime:
這個 .NET runtime 錯誤是一個 COM Interop exception,錯誤代碼為 0x80040154。
我參考 MAUI 問題單 #10280 下方留言的一些建議,能試的方法都試一下。然後,問題似乎解決了。說「似乎」,是因為我覺得目前無法百分之百確定此問題不會再出現,需要再多觀察一下。
解決過程
在我的 Windows 10 機器上安裝 Windows App SDK 1.2.2,重開機。
執行上述操作後,用 Visual Studio 2022 開啟我的 MAUI 專案,然後直接按 Ctrl+F5,依然沒有任何動靜。從工作管理員可以看到 Visual Studio 正在忙著工作。
等待幾分鐘,Visual Studio 依然沒有反應,於是我重新啟動 Visual Studio,使用 MAUI 專案範本來建立一個最簡單的 MAUI 專案。結果這個用預設專案範本所建立程式也一樣無法執行。接著,有趣的事情發生了。
我再度重啟 Visual Studio,開啟剛才建立的 MAUI 專案,竟然可以順利執行了!於是我開啟原先那個無法執行的 MAUI 專案(有用到 Blazor Hybrid 技術的那個),在沒有修改任何程式碼的情況下,卻也可以順利執行了。
雖然現在看似問題已經解決,但總覺得過程有點蹊蹺,無法百分百確定問題不會再發生。或許在我東試西試的過程中,有某個關鍵步驟是我沒有留意到的。
先記錄下來,如果相同狀況不再出現,那便是真的解決了。
Keep coding!
沒有留言: