AWS云幫助用戶將.NET Framework應(yīng)用程序移植到.NET Core
亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)引入了一種工具,以幫助其云計算用戶將.NET Framework應(yīng)用程序移植到.NET Core,這是18歲,僅使用Windows的舊框架的開源,跨平臺繼承者。
全新的.NET Porting Assistant僅移植到Linux,它可以掃描應(yīng)用程序并生成.NET Core兼容性評估,從而有助于加速新平臺的端口。
7月1日的公告顯示掃描內(nèi)容:識別與.NET Core的不兼容性;查找已知的替代品;生成詳細(xì)的兼容性評估報告;
“將.NET Framework應(yīng)用程序移植到.NET Core可以幫助客戶利用Linux的性能,成本節(jié)省和強(qiáng)大的生態(tài)系統(tǒng)。但是,將應(yīng)用程序移植到.NET Core可能是一項巨大的手動工作,” AWS說?!皯?yīng)用程序所有者需要花費(fèi)寶貴的時間來識別與.NET Core不兼容的依賴項和API,并估算所涉及的工作水平。.NET的Porting Assistant會快速掃描.NET Framework應(yīng)用程序,以識別與.NET Core的不兼容性。替換,并生成詳細(xì)的兼容性評估。這減少了將應(yīng)用程序升級到Linux所需的手動工作?!?/p>
盡管存在數(shù)種.NET Framework到.NET Core,包括Microsoft的一種。AWS表示,該工具與眾不同之處在于,它除了能夠檢測諸如不兼容的API之類的通用功能之外,還能夠評估整個軟件包依賴關(guān)系樹。此外,AWS表示,它以解決方案文件為起點(diǎn),從而簡化了對包含許多項目的整體解決方案的評估。這樣就無需分析和匯總有關(guān)單個二進(jìn)制文件的信息。
“在移植.NET Framework應(yīng)用程序時,開發(fā)人員需要搜索兼容的NuGet軟件包并更新應(yīng)用程序項目文件中的那些軟件包引用,這些文件引用也需要更新為.NET Core項目文件格式,” AWS開發(fā)倡導(dǎo)者Steve Roberts表示。 7月1日的博客帖子?!按送?,由于.NET Core包含.NET Framework中可用的API的子集,因此,他們還需要發(fā)現(xiàn)替代的API。隨著移植的進(jìn)行,開發(fā)人員必須仔細(xì)檢查長長的編譯錯誤和警告列表,才能確定最佳或最高優(yōu)先級的地方。繼續(xù)努力完成任務(wù)。不用說,這是具有挑戰(zhàn)性的,而增加的摩擦可能會對擁有大量應(yīng)用程序組合的客戶產(chǎn)生威懾作用?!?/p>
該工具以.NET Core 3.1為目標(biāo),最終將其升級到.NET 5,這是一個統(tǒng)一的萬物.NET框架,于11月首次亮相。源應(yīng)用程序必須是.NET Framework 3.5或更高版本(版本4.8是.net Framework的最新(也是最新的)版本)。它僅適用于Windows服務(wù)和ASP.NET應(yīng)用程序。
Roberts的文章詳細(xì)介紹了如何使用移植助手,并指出用戶共享遙測技術(shù)將有助于改進(jìn)該工具,并在該工具的建議引擎后面生成數(shù)據(jù)模型。該數(shù)據(jù)存儲可在GitHub上找到。這是該工具目前唯一可用的開源組件。雖然它現(xiàn)在只能與AWS提供的構(gòu)建一起使用,但該公司表示計劃在將來開源該項目,以便其他人可以做出改變。