View a markdown version of this page

UI レイヤーコードの移植 - AWS 変換

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

UI レイヤーコードの移植

AWS Transform は、ASP.NET ウェブサイトの UI レイヤーを、Linux で実行できる ASP.NET Core と互換性のある UI フレームワークに移植できます。次の変換を使用できます。

  • MVC Razor UI 移植

  • Blazor UI へのウェブフォームの移植

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 へのウェブフォームの移植

ASP.NET Web Forms UI には、ASP.NET Core に対応するものはありません。 AWS Transform は Web Forms UI レイヤーコードを ASP.NET Core の Blazor Server に移植できます。ターゲット UI フレームワークの UI レイヤーコードが書き換えられます。

Web Forms から Blazor UI への移植を有効または無効にするには、UI ASP.NET Web Forms から 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) は、Components フォルダに直接配置されます。

制限とサポートされていない機能

現在、以下の機能はサポートされていません。ワークロードがこれらの機能を使用する場合、そのコードは手動で移植するか、AI コードコンパニオンで変換後に移植する必要があります。

  • .svc ファイル (サービスファイル)

  • .ashx ファイル (汎用ハンドラーファイル)

  • サービスリファレンスとウェブリファレンス (reference.map、reference.cs、.wsdl ファイル)

  • 同じプロジェクト内の .aspx (Web Forms) ファイルと .cshtml (Razor) ファイルの混合

  • AWS Transform for .NET でまだサポートされていないプロジェクトタイプの依存関係

  • サードパーティーベンダーの UI ライブラリ/コントロール

  • ウェブサイトプロジェクト

ウェブアプリケーションプロジェクト (.csproj ファイルを含む) のみがサポートされています。ウェブサイトプロジェクトをウェブアプリケーションプロジェクトに変換するには、「Microsoft guidance Converting a Web Site Project to a Web Application Project」を参照してください。