

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Visual Studio 中使用 Amazon Q Developer 移植 .NET 應用程式
<a name="port-dotnet-application"></a>

完成這些步驟，以在 Visual Studio 中使用 Amazon Q Developer 將 Windows 型 .NET 應用程式，移植到與 Linux 相容的跨平台 .NET 應用程式。

## 步驟 1：事前準備
<a name="transform-dotnet-prerequisites"></a>

繼續進行之前，請確定您已完成[在 IDE 中設定 Amazon Q ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE.html)中的步驟。

在您開始 .NET 轉換任務之前，務必確定您的應用程式符合以下先決條件：
+ 您的應用程式僅包含以 C\# 撰寫的 .NET 專案。
+ 您的應用程式只有 Microsoft 編寫的 NuGet 套件相依性 
+ 您的應用程式僅使用 UTF-8 字元。如果您的應用程式使用非 UTF-8 字元，Amazon Q 仍會嘗試轉換您的程式碼。
+ 如果您的應用程式相依於 Internet Information Services (IIS)，則只會使用預設 IIS 組態
+ Amazon Q 將評估您選取的專案類型及其相依性，以建立程式碼群組。您的程式碼群組只會包含下列專案類型：
  + 主控台應用程式
  + 類別庫 
  + Web API
  + WCF 服務
  + Model View Controller (MVC) 和 Single Page Application (SPA) 的商業邏輯層
  + 測試專案

**注意**  
Amazon Q 不支援轉換 UI 層元件，例如 Razor 檢視或 WebForms ASPX 檔案。如果 Amazon Q 在解決方案或專案中偵測到 UI 層元件，則會藉由排除 UI 層元件的方式執行部分轉換，而且您可能需要進一步重構，才能在目標 .NET 版本上建置程式碼。

## 步驟 2：轉換應用程式
<a name="transform-dotnet-app"></a>

若要轉換 .NET 解決方案或專案，請完成下列程序：

1. 在 Visual Studio 中開啟您要轉換的任何 C\# 型解決方案或專案。

1. 在編輯器中開啟任何 C\# 檔案。

1. 選擇**解決方案總管**。

1. 在解決方案總管中，用滑鼠右鍵按一下您要轉換的解決方案或專案，然後選擇**使用 Amazon Q Developer 移植**。

1. **使用 Amazon Q Developer 移植**視窗隨即出現。

   **選擇要轉換的解決方案或專案**下拉式功能表中已選擇您選取的解決方案或專案。您可以展開功能表，以選擇不同的解決方案或專案來進行轉換。

   在**選擇 .NET 目標**下拉式功能表中，選擇您要升級的目標 .NET 版本。

1. 選擇**確認**以開始轉換。

1. Amazon Q 會開始轉換您的程式碼。您可以檢視其產生的轉換計畫，以了解其如何轉換您的應用程式的詳細資訊。

   此時 **Transformation Hub** 會開啟，您可以在此監控轉換期間的進度。Amazon Q 完成**等待任務轉換啟動**步驟後，您可以在轉換期間瀏覽至專案或解決方案以外的位置。

1. 轉換完成後，瀏覽至 **Transformation Hub**，然後選擇**檢視差異**，以在差異檢視中檢閱 Amazon Q 提議的變更。

1. 選擇**檢視程式碼轉換摘要**，以取得 Amazon Q 所做變更的詳細資訊。您也可以選擇**將摘要下載為 .md**，以下載轉換摘要。

   如果在 Linux 移植狀態下，**程式碼群組**表中的任何項目需要輸入，您必須手動更新一些檔案，才能在 Linux 上執行應用程式。

   1. 從**動作**下拉式功能表中，選擇**下載 Linux 整備報告**。

   1. 此時會開啟一個 .csv 檔案，其中包含您必須完成的任何專案或解決方案變更，如此您的應用程式才會與 Linux 相容。檔案中包含需要更新的專案和檔案、要更新的項目說明，以及問題的說明。使用**建議**欄，以獲得如何解決 Linux 整備問題的想法。

1. 若要就地更新您的檔案，請從**動作**下拉式功能表選擇**接受變更**。