重要提醒 1:此工具並非萬能,而是透過工具協助您將 .NET Framework 轉換成 .NET Core,大多數的專案或套件都需要再調整
重要提醒 2:此工具有可能直接進行轉換,若遇到無法轉移的程式會中斷且發出錯誤,雖然工具對於修改過檔案會轉換成.old 檔案,但請務必一定要備份原程式!!
嘗試進行轉移前,可以考慮使用 .NET 可攜性分析器檢視可能轉換失敗的部分,請參考:.NET Portability Analyzer 介紹
安裝
2. 開啟 PowerShell 或 cmd,透過下列指令安裝 try-convert
操作步驟
安裝完成後,你可以先透過 try-convert --help 指令檢視如何使用
透過說明,我們能夠知道透過 -p 參數可以指定專案 (.csproj) 位置;透過 -w 可以指定工作區位置(若沒有使用 -p 指定專案位置,則會自動搜尋專案或方案進行轉換)。
我們透過下列指令進行轉換
因為我們的範例是 ASP.NET 網站,訊息很明確告至 System.Web 無法轉換 .NET Core 專案。主要原因在於跨平台關係,.NET Core 捨棄舊有又肥又大的 System.Web,將其功能拆分為較小的 lib,故 ASP.NET 網站除了 MVC 專案可以透過另起新的 ASP.NET Core MVC 專案進行程式碼轉貼並重構 (多數內容相似,但仍需微調修改),其餘的 ASP.NET網站應用程式無法直接轉換。您可以參考這篇:從 ASP.NET 移轉至 ASP.NET Core
若專案沒有使用到 System.Web,或許能成功轉移;多數複雜的專案只會有部分轉換,若遭遇無法轉移部份則會中斷,您可以藉此檢視已轉換部分,並手動修改無法轉移部份。下圖為另一個專案部分轉移的結果。
若整個專案失控,該工具也會備份你的檔案(如下圖),比較保險的方式請使用版本控管/備份還原程式。
0 留言