

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

# 在 IDE 中排查 .NET 转换问题
<a name="troubleshooting-dotnet-transformation-IDE"></a>

通过以下章节，排查在 IDE 中使用 Amazon Q 开发者版执行 .NET 转换时的常见问题。

## 如何判断任务是否在正常推进？
<a name="job-progressing"></a>

若在“转换中心”中，Amazon Q 某个步骤耗时过长，您可通过输出日志查看任务是否仍在运行。若日志中持续生成诊断信息，则说明任务仍在正常执行。

要检查输出，请在 Visual Studio 中选择**输出**选项卡。在**显示以下来源的输出:**菜单中，选择 **Amazon Q 语言客户端**。

下方屏幕截图展示了 Amazon Q 在转换过程中生成的输出示例。

![\[Amazon Q 开发者版代码转换中心的屏幕截图，显示了 Amazon Q 语言客户端的输出。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/code-transform-troubleshoot4.png)


## 为何部分项目未被选中进行转换？
<a name="projects-not-selected"></a>

Amazon Q 仅支持转换 C\$1 语言编写的特定项目类型。目前，Amazon Q 不支持移植 UI 层组件，也不支持转换使用 VB.NET 或 F\$1 语言编写的项目。有关支持的项目类型及 .NET 项目转换的其他先决条件，请参阅[步骤 1：先决条件](port-dotnet-application.md#transform-dotnet-prerequisites)。

## 若项目或解决方案无法转换，如何获取支持？
<a name="get-support"></a>

如果您无法自行解决问题，可以联系 支持 或您的 AWS 账户 团队提交支持案例。

要获得支持，请提供转换任务 ID， AWS 以便调查失败的作业。要查找转换作业 ID，请在 Visual Studio 中选择**输出**选项卡。在**显示以下来源的输出:**菜单中，选择 **Amazon Q 语言客户端**。

## 如何避免防火墙干扰转换作业？
<a name="firewall-inteference"></a>

如果您所在组织使用了防火墙，可能会干扰 Visual Studio 中的转换操作。您可暂时禁用 Node.js 中的安全检查，以排查或测试阻碍转换运行的因素。

环境变量 `NODE_TLS_REJECT_UNAUTHORIZED` 控制着重要的安全检查。设置`NODE_TLS_REJECT_UNAUTHORIZED`为 “0” 会禁用 Node.js 拒绝未经授权 TLS/SSL 的证书。这意味着：
+ 接受自签名证书
+ 允许过期证书
+ 允许主机名不匹配的证书
+ 忽略其他所有证书验证错误

如果您的代理使用自签名证书，可设置以下环境变量（无需禁用 `NODE_TLS_REJECT_UNAUTHORIZED`）：

```
NODE_OPTIONS = —use-openssl-ca
NODE_EXTRA_CA_CERTS = Path/To/Corporate/Certs
```

否则，您必须指定代理使用的 CA 证书，才能禁用 `NODE_TLS_REJECT_UNAUTHORIZED`。

**要在 Windows 中禁用 NODE\$1TLS\$1REJECT\$1UNAUTHORIZED，请执行以下操作：**

1. 打开“开始”菜单，搜索**环境变量**。

1. 选择**编辑系统环境变量**。

1. 在**系统属性**窗口中，选择**环境变量**。

1. 在**系统变量**下，选择**新建**。

1. 设置**变量名**为 NODE\$1TLS\$1REJECT\$1UNAUTHORIZED，**变量值**为 0。

1. 选择**确定**，保存更改。

1. 重启 Visual Studio。