從 Uno Platform 4 更新 Uno Platform 5 的遷移方法

本文記錄我的一個小項目從 Uno Platform 4 更新 Uno Platform 5 的一些變更和遷移方法,由於項目太小,可能踩到的坑不多

官方文檔: Migrating to Uno Platform 5.0

表揚一下官方,文檔寫的很詳細

Directory.Packages.props

所有的 Uno 相關包的版本更新:

-    <PackageVersion Include="Uno.WinUI" Version="4.10.13" />
+    <PackageVersion Include="Uno.WinUI" Version="5.0.143" />
-    <PackageVersion Include="Uno.WinUI.Lottie" Version="4.10.13" />
+    <PackageVersion Include="Uno.WinUI.Lottie" Version="5.0.143" />
-    <PackageVersion Include="Uno.WinUI.RemoteControl" Version="4.10.13" />
+    <PackageVersion Include="Uno.WinUI.RemoteControl" Version="5.0.143" />
-    <PackageVersion Include="Uno.WinUI.Skia.Gtk" Version="4.10.13" />
+    <PackageVersion Include="Uno.WinUI.Skia.Gtk" Version="5.0.143" />
-    <PackageVersion Include="Uno.WinUI.Skia.Linux.FrameBuffer" Version="4.10.13" />
+    <PackageVersion Include="Uno.WinUI.Skia.Linux.FrameBuffer" Version="5.0.143" />
-    <PackageVersion Include="Uno.WinUI.Skia.Wpf" Version="4.10.13" />
+    <PackageVersion Include="Uno.WinUI.Skia.Wpf" Version="5.0.143" />

Skia.WPF

這裏有大改的部分,不僅僅只是修改命名空間

之前的 WpfHost 是放入到具體的 WPF 的窗口裏面的,現在更新版本是直接放入到 App 級的。遷移步驟如下

  • App.xaml 文件裏面刪除 StartupUri="Wpf/MainWindow.xaml" 屬性的配置
  • 刪除 MainWindow.xamlMainWindow.xaml.cs 文件
  • App.xaml.cs 裏添加以下代碼到構造函數
public App()
{
    var host = new WpfHost(Dispatcher, () => new AppHead());
    host.Run();
}

如果沒有更改,將會在運行看到 If you are seeing this, make sure to follow the "Migrating WpfHost" section of Migrating from previous releases article in the Uno Platform documentation at https://aka.platform.uno/uno5-wpfhost-migration. WpfHost is used at the application level instead of window level starting Uno Platform 5.0. 提示

Skia.Framebuffer

更換了命名空間,從原本的 Uno.UI.Runtime.Skia.FrameBufferHost 變更爲 Uno.UI.Runtime.Skia.Linux.FrameBuffer.FrameBufferHost 命名空間下的類型

只需加上 using Uno.UI.Runtime.Skia.Linux.FrameBuffer; 即可

Skia.Gtk

更換了命名空間,從原本的 Uno.UI.Runtime.Skia.GtkHost 變更爲 Uno.UI.Runtime.Skia.Gtk.GtkHost 命名空間下的類型

只需加上 using Uno.UI.Runtime.Skia.Gtk; 即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章