

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

# UI レイヤーコードの移植
<a name="dotnet-porting-ui"></a>

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

## MVC Razor UI 移植
<a name="dotnet-mvc-razor-porting"></a>

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 へのウェブフォームの移植
<a name="dotnet-webforms-blazor-porting"></a>

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 への変換ジョブ設定を確認またはクリアします。

### 変換の詳細
<a name="dotnet-transformation-details"></a>

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 ファイルになる | 

### 変換後のプロジェクト構造
<a name="dotnet-post-transformation-structure"></a>

変換後、変換されたファイルは次のプロジェクトの場所にあります。
+ コンポーネントフォルダ: すべてのカミソリコンポーネント (\*.razor) は、プロジェクトの .csproj ファイルと同じレベルで作成されたコンポーネントフォルダに配置されます。
+ ページマッピング: Web Forms ページ (\*.aspx) は Components/Pages フォルダ構造に変換されます。
+ コントロールマッピング: Web Forms コントロール (\*.ascx) は、Components フォルダに直接配置されます。

### 制限とサポートされていない機能
<a name="dotnet-limitations-unsupported"></a>

現在、以下の機能はサポートされていません。ワークロードがこれらの機能を使用する場合、そのコードは手動で移植するか、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](https://devblogs.microsoft.com/dotnet/converting-a-web-site-project-to-a-web-application-project/)」を参照してください。