本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
移植 UI layer 程式碼
AWS 轉換可以將 ASP.NET 網站的 UI 層移植到與 ASP.NET Core 相容的 UI 架構,該架構可在 Linux 上執行。可使用下列轉換:
MVC Razor UI 移植
Blazor UI 移植的 Web 表單
MVC Razor UI 移植
具有 Razor Views UI 的 ASP.NET MVC 專案可以移植到 ASP.NET Core 上的 MVC Razor Views,並保留在相同的 UI 架構上。雖然 Razor 檢視在 ASP.NET 和 ASP.NET Core 之間類似,但有一些差異需要移轉程式碼變更:
ASP.NET MVC Razor Views 使用 System.Web.Mvc 命名空間,並與 .NET Framework 密切相關。
ASP.NET Core Razor Views 是模組化的,以 Microsoft.AspNetCore.Mvc, 為基礎,具有改善的相依性注入。
ASP.NET Core 具有新功能,包括標籤協助程式和檢視元件。
AWS 轉換會在 Razor Views 中偵測並移植常見的不相容元件和建構。
Blazor UI 移植的 Web 表單
ASP.NET Web Forms UI 在 ASP.NET Core 上沒有對應項目。 AWS Transform 可以將 Web Forms UI layer 程式碼移植到 ASP.NET Core 上的 Blazor Server。目標 UI 架構的 UI layer 程式碼會重寫。
若要啟用或停用 Web 表單至 Blazor UI 移植,請檢查或清除將 UI ASP.NET Web 表單轉換為 Blazor 任務設定。
轉換詳細資訊
您的 Web Forms 專案會轉換為具有伺服器端託管的 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 | 主檔案成為 layout.razor 檔案 |
轉換後專案結構
轉換後,轉換的檔案會位於下列專案位置:
元件資料夾:所有修剪器元件 (*.razor) 都放置在與專案的 .csproj 檔案在相同層級建立的元件資料夾中。
頁面映射:Web Forms 頁面 (*.aspx) 會轉換為 Components/Pages 資料夾結構。
控制項映射:Web Forms 控制項 (*.ascx) 會直接放置在元件資料夾下方。
限制和不支援的功能
目前不支援下列功能。如果您的工作負載使用這些功能,則需要在轉換後手動移植該程式碼,或使用 AI 程式碼配套進行移植。
.svc 檔案 (服務檔案)
.ashx 檔案 (一般處理常式檔案)
服務參考和 Web 參考 (reference.map、https://reference.cs、.wsdl 檔案)
相同專案中 .aspx (Web 表單) 檔案和 .cshtml (Razor) 檔案的混合
AWS Transform for .NET 尚未支援的專案類型相依性
第三方供應商 UI 程式庫/控制項
網站專案
僅支援 Web 應用程式專案 (包含 .csproj 檔案)。若要將網站專案轉換為 Web 應用程式專案,請參閱 Microsoft 指引將網站專案轉換為 Web 應用程式專案