將WPF應(yīng)用程序遷移到 .NET
本主題介紹如何將使用 DevExpress 控件將WPF應(yīng)用程序升級到 .NET,一旦切換目標平臺您就可以利用。
開始之前
先決條件
- 安裝了.NET desktop development工作負載 的
遷移應(yīng)用程序
DevExpress統(tǒng)一組件安裝程序隨 .NET Core Migration Tool一起發(fā)布。
在解決方案資源管理器中選擇要轉(zhuǎn)換的項目,然后在Visual Studio的DevExpress菜單中選擇Migrate the Current project to .NET Core:
.NET Core Migration Tool 使用 將您的項目轉(zhuǎn)換為sdk風(fēng)格的格式,并將DevExpress程序集引用替換為NuGet包引用,選擇所需的.NET 版本并單擊Convert。
轉(zhuǎn)換完成后,.NET Core Migration Tool 將顯示嘗試轉(zhuǎn)換工具的輸出,單擊Finish關(guān)閉工具并在提示時重新加載項目。
提示:
您需要安裝.NET 5.0 SDK才能運行此轉(zhuǎn)換工具。
由.NET Core Migration Tool 轉(zhuǎn)換的庫類型項目的目標是netstandard2.0。
考慮可移植性限制
嘗試重構(gòu)代碼來減少對缺失api的調(diào)用次數(shù),尋找具有所需功能的替代API。
更新非DevExpress NuGet包
DevExpress NuGet包兼容.NET和.NET Framework平臺。
檢查項目中使用的非devexpress NuGet包是否與.NET兼容,以及是否有更新的兼容版本。
如有必要,更新項目以引用最新的包版本。
提示:
即使Visual Studio沒有顯示任何編譯時錯誤,也要執(zhí)行此步驟。如果您使用未針對 .NET運行時進行測試的包構(gòu)建應(yīng)用程序,則可能會遇到運行異常。
修復(fù)構(gòu)建問題
如果Visual Studio顯示構(gòu)建錯誤,請根據(jù)輸出對代碼進行重構(gòu),直到可以成功編譯為止。
提示:
- 使用 包訪問windows特定的APIs:Registry、WCF Client、ACL。
- 使用 來編寫 .NET 和 .NET 框架中不同的一小部分代碼。
已知限制
1.Visual Basic項目在轉(zhuǎn)換后顯示以下警告:
.vbproj uses code generators which will not be handled by try-convert. You can edit your vbproj to add support or remove these dependencies.
2.默認的 .NET 平臺是AnyCPU,如果您的 .NET 框架解決方案只配置了x86平臺,請在項目文件中手動指定平臺:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Platforms>x86;AnyCPU</Platforms> ... </PropertyGroup> ... </Project>
測試應(yīng)用程序
運行并測試升級后的應(yīng)用程序。請記住,即使應(yīng)用程序是在沒有編譯時錯誤的情況下構(gòu)建的,運行時異常也是可能的。