DevExpress Winforms使用技巧教程:如何將.NET 4.x項目轉換為.NET Core 3
DevExpress Winforms Controls 內置140多個UI控件和庫,完美構建流暢、美觀且易于使用的應用程序。無論是Office風格的界面,還是分析處理大批量的業(yè)務數(shù)據(jù),DevExpress WinForms都能輕松勝任。DevExpress廣泛應用于ECM企業(yè)內容管理、 成本管控、進程監(jiān)督、生產(chǎn)調度,在企業(yè)/政務信息化管理中占據(jù)一席重要之地。
【適用范圍】:各種桌面、Web應用程序開發(fā),尤其是WinForms應用程序開發(fā)。
問題:
由于.NET Core現(xiàn)在可用,因此存在有關如何將大型解決方案項目從.NET Framework遷移到.NET Core 3的問題。目前談論的不是源遷移,而是項目的參考遷移??梢詣?chuàng)建一個全新的.NET Core 3項目,復制所有源文件,問題的關鍵是DevExpress依賴項?,F(xiàn)在所有DevExpress產(chǎn)品都基于DLL樣式的,而新的.NET Core 3產(chǎn)品則基于nuget。
除此之外,全新的.NET Core 3 DLL映射了不同的"old"組件,因此在一個非常大的項目中幾乎無法理解哪個映射"old"引用的"new" nuget包。如何創(chuàng)建參照舊.net 4.x組件獲得舊.csproj樣式的VS擴展或Exe,并參照NUGET包創(chuàng)建新的.csproj項目?
問題不在于tu如何更新第三方dll,而是如何從老版本的Devexpress DLL遷移到新的nuget軟件包,因為namespace和API覆蓋范圍不同。例如,DevExpress.XtraEditor不是一個單獨的DLL,而是包含在具有不同名稱的nuget程序包中,其中包括許多其他舊的DX Dll,因此在新的nuget包中找到DLL的引用并不容易。目前需要的是一種能以簡單方式將舊DX Dll列表映射到一個或多個nuget包的工具。
對于使用大量DX Dll的大量項目解決方案,這個缺失的工具是一個大問題。
解決方案:
目前DevExpress暫沒有計劃實現(xiàn)將NET Framework項目轉換為.NET Core項目的解決方案,但是在將來的版本中有實現(xiàn)該擴展的可能性。從技術上講,可以用所需的Nuget包只替換DLL,但是問題在于僅更新DLL不足以使龐大的項目工作。
如果項目引用第三方DLL,則必須替換這些DLL,此類第三方庫一個很好的示例是.NET項目中廣泛使用的實體框架??紤]到這一點不適合大多數(shù)用戶,因為他們將擁有部分更新的項目,并需要手動完成更新過程。
至于將現(xiàn)有的.NET Framework項目更新為.NET Core項目,則無法在Visual Studio中將.NET Framework應用程序移植到.NET Core。 您需要復制項目文件夾并替換.csproj文件。 有關更多信息,請參閱微軟的有關如何將桌面應用程序移植到.NET Core 3.0的文章和.NET Core支持幫助主題,以獲取更多信息。
如果您決定繼續(xù)更新現(xiàn)有項目,請注意您可以使用Nuget頁面來找到軟件包的描述和包含的程序集列表。 例如,這是包含DevExpress.XtraEditors DLL的軟件包的列表:https://nuget.devexpress.com/packages?q=XtraEditors
DevExpress v19.2全新發(fā)布,歡迎下載最新版體驗哦~
DevExpress中文網(wǎng)官網(wǎng)QQ群:540330292 歡迎一起進群討論
掃描關注DevExpress中文網(wǎng)微信公眾號,及時獲取最新動態(tài)及最新資訊