

# Troubleshooting issues with .NET transformations in the IDE
<a name="dotnet-ide-troubleshoot"></a>

Use the following sections to troubleshoot common issues with .NET transformations in the IDE with AWS Transform.

## How do I know if a job is progressing?
<a name="job-progressing"></a>

You should see regular activity in the Worklog window. If AWS Transform appears to be spending a long time on a step in the **AWS Transformation Hub**, you can check whether the job is still active in the output logs. If diagnostic messages are being generated, the job is still active. 

To check the outputs, choose the **Output** tab in Visual Studio. In the **Show output from:** menu, choose **Amazon Q Language Client**.

The following screenshot shows an example of the outputs AWS Transform generates during a transformation.

![Screen shot of the AWS Transform Code Transformation Hub, showing the output from the Amazon Q Language Client.](http://docs.aws.amazon.com/transform/latest/userguide/images/code-transform-troubleshoot4.png)


## Why are some projects not selected for transformation?
<a name="projects-not-selected"></a>

AWS Transform can only transform supported .NET project types. For a list of supported project types and other prerequisites for transforming your .NET projects, see [Step 1: Prerequisites](dotnet-ide-vs.md#transform-dotnet-prerequisites).

## How can I get support if my project or solution isn't transforming?
<a name="get-support"></a>

If you aren't able to troubleshoot issues on your own, you can reach out to Support or your AWS account team to submit a support case. 

To get support, provide the transformation job ID so AWS can investigate a failed job. To find a transformation job ID, choose the **Output** tab in Visual Studio. In the **Show output from:** menu, choose **Amazon Q Language Client**.

## How can I prevent my firewall from interfering with transformation jobs?
<a name="firewall-inteference"></a>

If your organization uses a firewall, it might interfere with transformations in Visual Studio. You can temporarily disable security checks in Node.js to troubleshoot or test what is preventing the transformation from running. 

The environment variable `NODE_TLS_REJECT_UNAUTHORIZED` controls important security checks. Setting `NODE_TLS_REJECT_UNAUTHORIZED` to "0" disables Node.js's rejection of unauthorized TLS/SSL certificates. This means:
+ Self-signed certificates will be accepted
+ Expired certificates will be allowed
+ Certificates with mismatched hostnames will be permitted
+ Any other certificate validation errors will be ignored

If your proxy uses a self-certificate, you can set the following environment variables instead of disabling `NODE_TLS_REJECT_UNAUTHORIZED`:

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

Otherwise, you must specify the CA certs used by the proxy to disable `NODE_TLS_REJECT_UNAUTHORIZED`.

**To disbale NODE\_TLS\_REJECT\_UNAUTHORIZED on Windows:**

1. Open the Start menu and search for **Environment Variables**.

1. Choose **Edit the system environment variables**.

1. In the **System Properties** window, choose **Environment Variables**.

1. Under **System variables**, choose **New**.

1. Set **Variable name** to NODE\_TLS\_REJECT\_UNAUTHORIZED and **Variable value** to 0.

1. Choose **OK** to save the changes.

1. Restart Visual Studio.