

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Visual Studio 中使用 Amazon Q 开发者版移植 .NET 应用程序
<a name="port-dotnet-application"></a>

在 Visual Studio 中使用 Amazon Q D Windows-based eveloper 完成以下步骤，将.NET 应用程序移植到 Linux-compatible 跨平台的.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-authored NuGet 软件包依赖关系 
+ 您的应用程序仅使用 UTF-8 字符。如果您的应用程序使用非UTF-8 字符，Amazon Q 仍会尝试转换您的代码。
+ 如果您的应用程序依赖互联网信息服务（IIS），则仅使用默认的 IIS 配置。
+ Amazon Q 会评估您所选项目的类型及其依赖项，以创建代码组。您的代码组仅支持以下项目类型：
  + 控制台应用程序
  + 类库 
  + Web API
  + WCF 服务
  + 模型视图控制器（MVC）和单页应用程序（SPA）的业务逻辑层
  + 测试项目

**注意**  
Amazon Q 不支持转换界面层组件，例如Razor视图或 WebForms ASPX 文件。若 Amazon Q 在您的解决方案或项目中检测到 UI 层组件，会排除这些组件执行部分转换；之后您可能需要进一步重构代码，才能在目标 .NET 版本上完成编译。

## 步骤 2：转换应用程序
<a name="transform-dotnet-app"></a>

要转换您的 .NET 解决方案或项目，请完成以下步骤：

1. 在 Visual Studio 中打开您想要转换的、基于 C\# 的解决方案或项目。

1. 在编辑器中打开任意一个 C\# 代码文件。

1. 选择**解决方案资源管理器**。

1. 在“解决方案资源管理器”中，右键单击您想要转换的解决方案或项目，然后选择**使用 Amazon Q 开发者版移植**。

1. 将显示**使用 Amazon Q 开发者版移植**窗口。

   **选择要转换的解决方案或项目**下拉菜单中，会默认选中您此前选择的解决方案或项目；您可展开该菜单，选择其他需要转换的解决方案或项目。

   在**选择 .NET 目标版本**下拉菜单中，选择您要升级到的 .NET 版本。

1. 选择**确认**，开始转换。

1. Amazon Q 开始转换代码。您可查看其生成的转换计划，了解应用程序的具体转换方式。

   系统会打开**转换中心**，您可在整个转换过程中通过它监控进度。在 Amazon Q 完成**等待任务转换启动**步骤后，在剩余转换期间，您可离开当前项目或解决方案。

1. 转换完成后，返回**转换中心**，选择**查看差异**，在差异视图中查看 Amazon Q 建议的变更。

1. 选择**查看代码转换摘要**，了解 Amazon Q 所做变更的详细信息；您也可选择**将摘要下载为 .md 文件**，下载转换摘要。

   如果**代码组**表格中的任一项目在“Linux 移植状态”下需要手动输入，您必须手动更新部分文件，才能让应用程序在 Linux 上运行。

   1. 在**操作**下拉菜单中，选择**下载 Linux 就绪报告**。

   1. 系统会打开一个 .csv 文件，其中列出了使应用程序兼容 Linux 前，您需对项目或解决方案完成的所有变更。它包括需更新的项目和文件、待更新项的描述、问题说明。您可参考**建议**列，了解如何解决 Linux 兼容性问题。

1. 若要对文件进行就地更新，请在**操作**下拉菜单中选择**接受变更**。