

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

# Amazon Q Developer 如何轉換 .NET 應用程式
<a name="how-dotnet-transformation-works"></a>

請檢閱下列各節，了解如何使用 Amazon Q Developer 進行 .NET 轉換的詳細資訊。

## 分析您的應用程式並產生轉換計畫
<a name="analyzing-app-generating-plan"></a>

在轉換開始之前，Amazon Q 會先在本機上建置您的程式碼，以確保其可建置並正確設定以進行轉換。然後，Amazon Q 會將您的程式碼上傳至安全且加密的建置環境 AWS、分析您的程式碼庫，並決定移植應用程式所需的更新。

在此分析期間，Amazon Q 會將您的 .NET 解決方案或專案分成程式碼群組。程式碼群組是專案及其所有相依性，這些會共同產生可建置的程式碼單位，例如動態連結程式庫 (DLL) 或可執行檔。即使您未選取所有專案相依性進行轉換，Amazon Q 仍會判斷建置您所選取專案所需的相依性，並且一併進行轉換，如此轉換後的應用程式就可建置且可供使用。

分析程式碼後，Amazon Q 會產生轉換計畫，其中概述將要進行的提議變更，包括要轉換的程式碼群組清單及其相依性。

## 轉換應用程式
<a name="transforming-app"></a>

為了要開始轉換，Amazon Q 會在安全的建置環境中再次建置您的程式碼，確保可在遠端進行建置。Amazon Q 隨後就會開始移植您的應用程式。它會從下而上進行，從最低層級相依性開始。如果 Amazon Q 移植相依性時遇到問題，則會停止轉換，並提供造成錯誤的原因資訊。

轉換包括對應用程式進行下列更新：
+ 將過時的 C\$1 程式碼版本取代為與 Linux 相容的 C\$1 版本
+ 將 .NET Framework 升級到跨平台 .NET，包括：
  + 識別並反覆取代套件、程式庫和 API
  + 升級和取代 NuGet 套件和 API
  + 轉換為跨平台執行時期
  + 設定中介軟體並更新執行時期組態
  + 取代私有或第三方套件 
  + 處理 IIS 和 WCF 元件 
  + 對建置錯誤進行偵錯
+ 重寫程式碼使其與 Linux 相容，包括重構和重寫已棄用且效率不佳的程式碼，以移植現有程式碼 

## 檢閱轉換摘要並接受變更
<a name="reviewing-summary-accepting-changes"></a>

轉換完成後，Amazon Q 會提供轉換摘要，其中包含對您的應用程式提出的提議更新相關資訊，包括變更的檔案數、更新的套件，以及變更的 API。它會標記任何未成功的轉換，包括受影響的檔案或部分檔案，以及在嘗試建置期間遇到的錯誤。您也可以使用建置日誌檢視建置摘要，以進一步了解所做的變更。

轉換摘要也會提供 Linux 移植狀態，其指出是否需要額外的使用者輸入才能使應用程式與 Linux 相容。如果程式碼群組中的任何項目需要您輸入，您可以下載 Linux 整備報告，其中包含 Amazon Q 在建置時無法解決的 Windows 特定考量。如果任何程式碼群組或檔案需要輸入，請檢閱報告以取得仍需要進行何種變更的詳細資訊，並取得如何更新程式碼的建議 (如適用)。您必須先手動進行這些變更，才能在 Linux 上執行您的應用程式。

您可以先在差異檢視中檢閱 Amazon Q 所做的提議變更，再接受變更以就地更新您的檔案。更新您的檔案並解決 Linux 整備報告中的任何項目後，您的應用程式就可在跨平台 .NET 上執行。