View a markdown version of this page

移植 UI 层代码 - AWS 转换

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

移植 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 应用程序项目