本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
移植 UI 层代码
AWS Transform 可以将 ASP.NET 网站的用户界面层移植到与 ASP.NET Core 兼容的 UI 框架,该框架可以在 Linux 上运行。有以下转换可供选择:
MVC Razor 用户界面移植
将 Web 表单移植到 Blazor 用户界面
MVC Razor 用户界面移植
ASP.NET 带有 Razor Views 用户界面的 MVC 项目可以移植到 C ASP.NET ore 上的 MVC Razor Views 中,保持在同一个用户界面框架上。虽然与 C ASP.NET ore 之间 ASP.NET 的 Razor 视图类似,但有一些差异需要更改移植代码:
ASP.NET MVC Razor 视图使用 System.Web.Mvc 命名空间,并且与.NET 框架紧密相关。
ASP.NET Core Razor Views 采用模块化构建 Microsoft.AspNetCore.Mvc,并改进了依赖注入。
ASP.NET Core 具有新功能,包括标签助手和视图组件。
AWS Transform 会检测并移植 Razor Views 中常见的不兼容组件和结构。
将 Web 表单移植到 Blazor 用户界面
ASP.NET Web 表单用户界面在 C ASP.NET ore 上没有对应的界面。 AWS Transform 可以将 Web 表单用户界面层代码移植到 Core 上 ASP.NET 的 Blazor 服务器 为目标 UI 框架重写了 UI 层代码。
要启用或禁用 Web 表单到 Blazor 用户界面的移植,请选中或清除 “将用户界面 ASP.NET Web 表单转换为 Blazor” 作业设置。
转型细节
您的 Web 表单项目已转换为使用服务器端托管的 Blazor 项目。在转换过程中对项目和文件进行了以下更改:
| 来源 | 目标 | 说明 |
|---|---|---|
| *.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 | 主文件变为布局.razor 文件 |
Post-transformation 项目结构
转换后,转换后的文件位于以下项目位置:
组件文件夹:所有 razor 组件 (*.razor) 都放置在与项目.csproj 文件相同级别创建的组件文件夹中。
页面映射:Web 表单页面 (*.aspx) 转换为 Components/Pages 文件夹结构。
控件映射:Web 表单控件 (*.ascx) 直接放置在 “组件” 文件夹下。
限制和不支持的功能
目前不支持以下功能。如果您的工作负载使用这些功能,则需要手动移植该代码或在转换后与 AI 代码配套一起移植。
.svc 文件(服务文件)
.ashx 文件(通用处理程序文件)
服务参考和网络引用(reference.map、reference.cs、.wsdl 文件)
.aspx(Web 表单)文件和.cshtml(Razor)文件混合在同一个项目中
.NET AWS 转换尚不支持对项目类型的依赖关系
Third-party 供应商用户界面 libraries/controls
网站项目
仅支持 Web 应用程序项目(包含.csproj 文件)。要将网站项目转换为 Web 应用程序项目,请参阅 Microsoft 指南将网站项目转换为 Web 应用程序项目