Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文會利用目前 Visual Studio 內建的專案樣本建立一個初始的 .NET MAUI 專案,並且透過此 .NET MAUI 專案來把 TopStore App 的開發從 Xamairn.Forms 轉換到 .NET MAUI 上進行。
本篇是 Re: 從零改成用 .NET MAUI 技術來繼續過去用 Xamarin 開發的一個 App : TopStore 系列 系列文的 EP02。
在上一回 EP01 裡的最後開啟了使用 Xamarin.Forms 建立的 TopStoreApp 專案。
首先,先來檢查一下該 TopStoreApp 開發時,在 Xamarin.Forms 的專案當中使用了那些 Nuget 套件。
在 Xamarin.Forms 當中的專案檔上,透過右鍵選單點選 "管理 Nuget 套件":
看到已安裝的 Nuget 套件:
排除掉 Xamarin.Forms
、Xamarin.Essentials
、NETStandardLibrary
這幾個 Xamarin.Forms 依賴的套件,那剩下的就是在新的 .NET MAUI 專案當中找到替代的 Nuget 套件來運用。
例如在過去 Xamarin.Forms 版的 TopStore App 有用到一個套件來協助進行 MVVM 框架運用時的開發,在其說明中就提到請用 Maui.Plugin.BaseBindingLibrary
取代:
接著開啟在上一回建立的 .NET MAUI 版的 TopStoreApp 專案,並且在專案檔上透過右鍵選單,點選 "管理 Nuget 套件"。
切到 "瀏覽"。
先安裝先前 Xamairn.Forms 當中使用到且沒有爭議的 Nuget 套件:
安裝完成後,在 .NET MAUI 的專案當中的相依性,針對各平台進行確認:
接著來安裝有些許爭議的 SQLite-net-pcl
的 Nuget 套件:
安裝 Nuget 套件時沒什麼問題,但會到執行的時候會發生相依平台執行錯誤。
所以如果要在 .NET MAUI 當中繼續使用 SQLite-net-pcl
這個 Nuget 套件的話,接下來直接透過 .NET MAUI 的專案檔編輯。
在 .NET MAUI 的專案檔上右鍵選單點選 "編輯":
找到 PackageReference
標記:
並且在此 ItemGroup
當中加入下列標記:
<PackageReference Include="SQLitePCLRaw.core" Version="2.1.2" />
<PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.1.2" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.2" />
<PackageReference Include="SQLitePCLRaw.provider.sqlite3" Version="2.1.2" />
上述步驟是在調整 SQLite-net-pcl
相依的底層 Nuget 套件使用(2022/9/19 發佈新版 2.1.2)。
本 EP 介紹所完成的範例程式碼可在此下載。