AWS发布移植.NET Framework解决方案到.NET Core的辅助工具

AWS发布可方便开发者将.NET Framework项目移植到.NET Core,并可在Linux上执行的工具Porting Assistant for .NET,该工具会分析应用程序源码,评估公用API和NuGet组件的依赖性,标记出与. NET Core不兼容的部分,并且引导开发者采用替代的方案。

微软将.NET发展重心移往.NET Core,.NET Framework4.8已经是最后一个版本,将来微软仅会提供bug、安全性与可靠性修复程序,不会再添加功能,当用户希望继续发展现有的.NET Framework程序,扩展到Linux和其他开源平台,便可以考虑将.NET Framework程序移植到.NET Core,不过移植需要花费一些额外的时间资源,更新相依项目的参照。

要移植.NET Framework应用程序到.NET Core上,需要寻找兼容的NuGet组件,并在项目文件中更新这些组件参照,而且因为.NET Core仅包含.NET Framework中可用API的一部分,因此开发者需要为部分API寻找替代。这个移植过程很繁琐,AWS提到,开发人员必需要查看冗长的编译错误和警告列表,找出最需要优先处理的项目,才能继续后续的动作。

为了解决这个问题,AWS推出适用.NET的移植辅助工具,来简化这个移植过程,该工具能够分析.NET Framework应用程序其相依项目的关系树,并在有其他可用的替代方案存在时,提供给开发人员参考,而且这个工具的建议还会随着时间改进,当该工具获得更多使用模式以及遗失组件的相关消息时,经学习后,移植工具将会给出不一样的建议。

AWS表示,这个移植工具跟其他类似工具的不同之处,在于能完整评估组件相依关系树,而不是只找出不兼容的API,而且该工具能处理整个解决方案,因此评估的内容可涵盖整个解决方案下的多个项目,而不只是分析和汇总单个二进制文件的信息,如此能让开发人员更快地完成移植工作。

要使用这个移植辅助工具,用户需要先安装.NET Core 3.1 SDK,并且准备凭证配置文件,这个凭证配置文件是用来收集,应用程序所使用的公用API和组件兼容性信息。在移植辅助工具分析完应用程序后,会显示应用程序中与.NET Core不兼容的组件以及API数量,并给出一个可移植得分数,用户可以根据这个分数评估移植成本,或在多个需要移植的程序,排出处理优先级。

移植辅助工具中的参照标签,会完整显示解决方案的组件相依图,AWS提到,这个图可以协助用户决定移植工作的起点,而NuGet组件标签则显示解决方案不兼容的相依项目,并且列出不受支持的API,以及API被组件参照的数量,协助工具会建议替代方案,用户可能只要简单地更新组件版本,或是必需要手动修改程序代码。

移植辅助工具背后的建议引擎模型,来自GitHub上大量组件的分析结果,AWS提到,由于建议引擎具有学习的能力,因此当用户在分析解决方案的同时,能够跟AWS共享遥测资料,建议引擎的结果将会越来越好。