[英]Disappointing First UNO Experience. Only WASM works
我已經度過了周末,但仍然無法讓“Hello, World”正常工作。 視覺工作室:
2022 Version 17.0.4
2022 Preview Version 17.1.0 Preview 1.1
WUX 或 MUX(UWP 或桌面)風格的 WinUI 都不起作用。 Android 仿真器即將推出,但 Hello World 未部署。 檢測到本地 Android 設備,但未部署。 Linux (Skia.GTK) 不工作。
WASM 能夠顯示文本“Hello, World”。
哇。 在觀看了最近的第 4 版發布會議的每一分鍾后,我感到很興奮。 但是,如果讓事情運行起來就這么困難..? ?
我決心讓它工作......但這樣做似乎是一個主要的非生產性項目。 我是世界上唯一一個有困難的人嗎?
標記
2001 年 12 月 19 日
好的,我能夠讓 WinUI(桌面)、WASM、Skia(用於 Windows 7 的 WPF)、Skia(用於 Linux 的 Gtk)和 Android 與“Hello, World”一起工作。 讓我分享我學到的東西,並希望其他人能避免我所經歷的痛苦經歷。
當然,在執行以下步驟之前,您需要安裝並運行 unocheck,因此請按照文檔進行操作並確保所有問題都已解決。
一旦你通過了 unocheck,那么:
首先,忘記使用 .NET 6。它們還沒有准備好。 這是我花費最多時間的原因。 Uno 4 可能會宣傳為 .NET 6 兼容並且它們正在接近......但它們還沒有。
忘記在 Visual Studio 中使用項目模板。 令人驚訝的是,即使在發布 4.0 版之后,他們還沒有為開發人員想要的最重要的項目完成模板:WinUI 3 Desktop。 所以,現在,只關注使用 CLI 安裝和調用模板。
打開 cmd 提示符並使用以下命令安裝模板:dotnet new -i Uno.ProjectTemplates.Dotnet
這將安裝幾個模板。 如果要創建一個基於 WinUI 3 Desktop (Win32) 版本的跨平台,那么:
首先創建包含文件夾(如“C:\Users\Mark\Code”)。 然后,使用命令提示符導航到此文件夾,並在此文件夾中輸入以下命令:
dotnet new unoapp-winui -o 解決方案名稱
這將產生一個 .NET 5 解決方案,以打包的 WinUI 3 桌面作為主要開發頭。 WinUI 3 頭將依賴於最新的 WindowsAppSDK 版本。 1.0(以前的項目重聚)。
不要使用命令:
dotnet new unoapp-winui-net6 -o 解決方案名稱
這將產生一個 .NET 6 解決方案,該解決方案將被搞砸並且無法工作。 希望他們能在接下來的幾周內糾正所有這些問題。 我會等到 NVentive 發布更新的 Visual Studio 模板,支持 .NET 6 的 WinUI 3。然后將您的解決方案從 .NET 5 升級到 .NET 6 將很容易。
要解決此問題,請使用命令提示符導航到每個失敗的項目並輸入命令:
點網還原
現在您已准備好使用 Visual Studio 啟動您的解決方案。 Select 將 WinUI 3 打包項目作為您的啟動項目並嘗試運行“Hello, World”。
4) 您可能會收到錯誤:“錯誤 MSB3270 正在構建的項目的處理器架構“AMD64”與參考的處理器架構不匹配......”。 如果是這樣,請打開您的構建配置並檢查您的打包和主 WinUI 3 項目是否使用不同的 CPU 目標,如下所示(BFRLE 是我的解決方案的名稱):
我通過將 BFRLE.Windows.Desktop 的目標平台更改為 x64 以匹配打包項目來解決此問題。 當您在配置管理器中時,請確保已部署 Android 項目(否則在調試期間不會部署)。
https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
在 unocheck 中不檢查此運行時的缺失。
此時,您應該能夠將“Hello, World”作為本地 WinUI 3 桌面應用程序、IIS Express 托管的 WASM 應用程序、Skia.WPF.Host 應用程序和 Skia.ZE6094CAAEAA604C8 應用程序運行我沒有嘗試運行 MacOS 或 iOS 風格,因為它們需要物理硬件。 我確實嘗試連接我的舊 Android 手機(Galaxy Note 5,OS 7 API 24)。 當然,要讓手機被識別,您必須啟用開發人員模式並啟用 USB 調試(請參閱在線文檔)。 為了讓我的手機得到認可……必須禁用快速部署。 即使在這讓我的手機通信之后,我也無法成功部署到這個舊手機(我懷疑我需要更新我的手機)。
上面的步驟終於讓事情對我有用。 無論我使用的是 VS 2022 還是 VS 2022 預覽版都沒有關系——因此您不必擔心這一點。
現在討論讓真正的應用程序跨平台運行的更有趣的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.