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