Amazon Q 开发者版如何转换 .NET 应用程序 - Amazon Q 开发者版

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Q 开发者版如何转换 .NET 应用程序

通过以下章节,详细了解 Amazon Q 开发者版执行 .NET 转换的工作原理。

分析应用程序并生成转换计划

在转换开始前,Amazon Q 会先在本地编译您的代码,确保代码可编译且转换配置正确。然后,Amazon Q 会将您的代码上传到安全的加密构建环境 AWS,分析您的代码库,并确定移植应用程序所需的更新。

在分析过程中,Amazon Q 会将您的 .NET 解决方案或项目划分为多个代码组。代码组指一个项目及其所有依赖项的集合,它们共同构成一个可编译的代码单元,如动态链接库(DLL)或可执行文件。即便您未选择转换所有项目依赖项,Amazon Q 也会自动识别编译所选项目所需的依赖项,并一并转换,确保转换后的应用程序可编译且能直接投入使用。

代码分析完成后,Amazon Q 会生成一份转换计划,其中概述了拟执行的变更,包括待转换的代码组列表及其依赖项。

转换应用程序

转换启动后,Amazon Q 会先在安全构建环境中再次编译您的代码,确保代码可远程编译。随后,Amazon Q 开始移植应用程序。转换采用“自下而上”的方式:从最低层级的依赖项开始处理。若 Amazon Q 在移植某个依赖项时遇到问题,会暂停转换并提供错误原因相关信息。

转换包含对应用程序的以下更新:

  • 将代码中过时的 C# 版本替换为兼容 Linux 的 C# 版本

  • 将 .NET Framework 升级到跨平台 .NET,具体包括:

    • 识别和迭代替包、库和 APIs

    • 升级和更换 NuGet 软件包以及 APIs

    • 迁移到跨平台运行时

    • 配置中间件并更新运行时配置

    • 替换私有或第三方包

    • 处理 IIS 和 WCF 组件

    • 调试编译错误

  • 重写代码以实现 Linux 兼容性,包括对已废弃、低效的代码进行重构和重写,以适配现有代码的移植需求

查看转换摘要并接受变更

转换完成后,Amazon Q 会提供转换摘要,其中包含有关其对您的应用程序所做的拟议更新的信息,包括更改的文件数量、更新和 APIs 更改的软件包数量。它会标记所有未成功完成的转换(包括受影响的文件或文件片段、尝试编译时遇到的错误)。您还可查看包含编译日志的编译摘要,进一步了解已执行的变更。

转换摘要中还会提供 Linux 移植状态,用于指示应用程序要实现 Linux 兼容性是否需要额外的用户输入。若某个代码组中的任意项目需要您手动处理,可下载一份 Linux 就绪报告,其中包含 Amazon Q 在编译阶段无法解决的与 Windows 特性相关的注意事项。若任一代码组或文件需要人工干预,请查看报告以了解仍需执行的变更类型,以及(如适用)代码更新建议。这些变更必须手动完成,应用程序才能在 Linux 上运行。

在接受变更并对文件进行就地更新前,您可在差异视图中查看 Amazon Q 拟执行的变更。完成文件更新并处理 Linux 就绪报告中的所有事项后,您的应用程序即可在跨平台 .NET 环境中运行。