亚马逊AWS官方博客
AWS Transform 宣布推出全栈 Windows 现代化功能
今年五月初,我们宣布正式推出适用于.NET 的 AWS Transform,这是首个用于大规模现代化 .NET 应用程序的代理式人工智能服务。在服务的早期采用阶段,我们收到了宝贵的反馈。除了 .NET 应用程序现代化外,您也希望实现对 SQL Server 和旧版 UI 框架的现代化改造。您的应用程序通常遵循三层架构——表示层、应用层和数据库层——您需要一个全面的解决方案,能够以协调的方式对所有层进行转换。
今天,根据您的反馈,我们兴奋地宣布推出适用于全栈 Windows 现代化的 AWS Transform,以承接 Windows 应用程序栈中复杂、繁琐的现代化工作。您现在可以通过集中式的体验,识别应用程序和数据库的依赖关系,并以编排好的方式对它们进行现代化改造。
AWS Transform 可将应用层、UI 层、数据库层和部署层的全栈 Windows 现代化速度提升高达五倍。除了将.NET Framework 应用程序移植到跨平台.NET 之外,它还通过智能存储过程转换和相关的应用程序代码重构,将 SQL Server 数据库迁移到 Amazon Aurora PostgreSQL 兼容版。为了进行验证和测试,AWS Transform 会将应用程序部署到 Amazon Elastic Compute Cloud (Amazon EC2) Linux 或 Amazon Elastic Container Service (Amazon ECS),并提供可定制的 AWS CloudFormation 模板和部署配置以供生产使用。AWS Transform 还新增了将 ASP.NET Web Forms UI 现代化为 Blazor 的能力。
有很多内容值得探索,因此在这篇文章中,我将带您初步了解跨越所有层的 AWS Transform 全栈 Windows 现代化功能。
创建全栈 Windows 现代化转换作业
AWS Transform 连接到您的源代码存储库和数据库服务器,分析应用程序和数据库依赖关系,创建现代化批次,并为每个批次编排全栈转换。
要开始使用 AWS Transform,我首先需要完成 AWS Transform 入门用户指南中概述的入门步骤。载入后,我使用自己的凭证登录 AWS Transform 控制台,并创建一个用于全栈 Windows 现代化的作业。
创建作业后,我完成先决条件。接着,我为 AWS Transform 配置数据库连接器,以便安全访问在 Amazon EC2 和 Amazon Relational Database Service (Amazon RDS) 上运行的 SQL Server 数据库。该连接器可以连接到同一 SQL Server 实例内的多个数据库。
接下来,我设置了一个连接器来连接到源代码存储库。
此外,我还可以选择是否希望 AWS Transform 部署转换后的应用程序。我选择是,并提供用于部署应用程序的目标 AWS 账户 ID 和 AWS 区域。部署选项也可以稍后配置。
连接器设置完成后,AWS Transform 会连接到资源并运行验证,以检查 IAM 角色、网络设置和相关的 AWS 资源。
成功验证后,AWS Transform 会发现数据库及其关联的源代码存储库。它可以识别数据库和应用程序之间的依赖关系,以便创建批次,将相关组件一起转换。基于此分析,AWS Transform 会创建一个基于批次的转换计划。
评估数据库和依赖的应用程序
在评估中,我将查看 AWS Transform 发现的数据库和源代码存储库,并为代码存储库选择相应的分支。AWS Transform 会扫描这些数据库和源代码存储库,然后呈现一个数据库列表及其依赖的 .NET 应用程序和转换复杂度。
我选择要进行现代化的目标数据库和存储库。AWS Transform 分析这些选择,并生成一份全面的 SQL 现代化评估报告,其中包含详细的批次计划。我下载报告以审阅提议的现代化计划。该报告包括执行摘要、批次计划、数据库与代码存储库之间的依赖关系以及复杂度分析。
大规模的批次转换
AWS Transform 生成的批次计划为每个批次包含四个步骤。首先,将 SQL Server 模式转换为 PostgreSQL 模式。其次,迁移数据。第三,转换依赖的.NET 应用程序代码,使其与 PostgreSQL 兼容。最后,部署应用程序进行测试。
在转换 SQL Server 模式之前,我可以创建一个新的 PostgreSQL 数据库,也可以选择现有的数据库作为目标数据库。
在我选择源数据库和目标数据库后,AWS Transform 会生成转换报告供我审阅。AWS Transform 将 SQL Server 模式转换为 PostgreSQL 兼容的结构,包括表、索引、约束和存储过程。
对于 AWS Transform 无法自动转换的任何模式,我可以在 AWS Database Migration Service (AWS DMS) 控制台中手动处理。或者,我也可以在首选 SQL 编辑器中修复它们,并更新目标数据库实例。
完成模式转换后,我可以选择继续进行数据迁移,这是一个可选步骤。AWS Transform 使用 AWS DMS 将数据从我的 SQL Server 实例迁移到 PostgreSQL 数据库实例。我可以选择稍后在完成所有转换后执行数据迁移,或者通过将测试数据加载到目标数据库来处理这些数据。
下一步是代码转换。我指定一个目标分支,供 AWS Transform 上传转换后的代码构件。AWS Transform 更新代码库,使应用程序与转换后的 PostgreSQL 数据库兼容。
在此版本中,用于全栈 Windows 现代化的 AWS Transform 仅支持 .NET 6 或更高版本 的代码库。对于.NET Framework 3.1+ 中的代码库,我首先使用适用于.NET 的 AWS Transform 将它们移植到跨平台的.NET。我将在下一节中对此进行详细介绍。
转换完成后,我可以查看源分支和目标分支及其代码转换状态。我还可以下载和审阅转换报告。
现代化包含 UI 层的 .NET Framework 应用程序
我们今天发布的一项主要功能是将 UI 框架从 ASP.NET Web Forms 现代化到 Blazor。这是在现有的将模型-视图-控制器 (MVC) Razor 视图现代化到 ASP.NET Core Razor 视图 支持基础上的新增功能。
如前所述,如果我有一个使用旧版 .NET Framework 的 .NET 应用程序,那么我继续使用适用于.NET 的 AWS Transform 将其移植到跨平台的 .NET。对于 UI 构建在 ASP.NET Web Forms 上的旧版应用程序,AWS Transform 现在可以在移植后端代码的同时,将 UI 层现代化到 Blazor。
适用于.NET 的 AWS Transform 将 ASP.NET Web Forms 项目转换为 ASP.NET Core 上的 Blazor,从而促进 ASP.NET 网站向 Linux 的迁移。在 AWS Transform Web 控制台和 Visual Studio 扩展程序中,适用于.NET 的 AWS Transform 中默认启用 UI 现代化功能。
在现代化过程中,AWS Transform 处理 ASPX 页面、ASCX 自定义控件和代码隐藏文件的转换,将它们实现为服务器端 Blazor 组件,而非 Web Assembly。转换过程中会进行以下项目和文件更改:
| 转换前 | 转换后 | 描述 |
| *.aspx, *.ascx | *.razor | .aspx 页面和 .ascx 自定义控件变为 .razor 文件 |
| Web.config | appsettings.json | Web.config 设置变为 appsettings.json 设置 |
| Global.asax | Program.cs | Global.asax 代码变为 Program.cs 代码 |
| *.master | *layout.razor | 主文件变成 layout.razor 文件 |
适用于.NET 的 AWS Transform 中的其他新功能
除了 UI 移植,适用于.NET 的 AWS Transform 还增加了对更多转换能力的支持,并增强了开发者体验。这些新功能包括:
- 移植到.NET 10 和.NET 标准 – AWS Transform 现在支持移植到.NET 10,这是于 2025 年 11 月 11 日发布的最新长期支持 (LTS) 版本。它还支持将类库移植到 .NET Standard,这是一套在所有 .NET 实现中通用的 API 的正式规范。此外,AWS Transform 现已在 AWS Toolkit for Visual Studio 2026 中提供。
- 可编辑的转换报告 – 评估完成后,您现在可以根据您的具体需求和偏好查看和定制转换计划。例如,您可以更新包替换的详细信息。
- 实时转换更新与预估剩余时间 – 根据代码库的大小和复杂程度,AWS Transform 可能需要一些时间来完成移植。您现在可以实时跟踪转换更新以及预估的剩余时间。
- 后续步骤 Markdown – 转换完成后,AWS Transform 现在会生成一个包含完成移植所需剩余任务的后续步骤 Markdown 文件。您可以将其作为修改后的计划,使用 AWS Transform 重复转换,或使用 AI 代码助手来完成移植。
注意事项
其他需要注意的事项:
- AWS 区域 – 用于全栈 Windows 现代化的 AWS Transform 现已在美国东部(弗吉尼亚州北部)区域正式上市。有关区域可用性和未来路线图,请访问按区域列出的 AWS 功能。
- 定价 – 目前,AWS Transform 的 Windows 现代化功能不收取额外费用。使用 AWS Transform 输出在 AWS 账户中创建或继续使用的任何资源将按标准定价计费。有关限制和配额,请参阅 AWS Transform 用户指南。
- 支持的 SQL 服务器版本 – AWS Transform 支持从 SQL Server 2008 R2 至 2022 的转换,包括所有版本(快捷版、标准版和企业版)。SQL Server 必须托管在与 AWS Transform 相同区域的 Amazon RDS 或 Amazon EC2 上。
- 支持的 Entity Framework 版本 – AWS Transform 支持现代化 Entity Framework 6.3 至 6.5 以及 Entity Framework Core 1.0 至 8.0 的版本。
- 开始使用 – 要开始使用,请访问适用于全栈 Windows 现代化的 AWS Transform 用户指南。
– Prasad













