AWS Toolkit for .NET Refactoring is an extension for Microsoft Visual Studio that reduces the time and effort that is required to refactor legacy .NET applications to alternatives on AWS Cloud.
Toolkit for .NET Refactoring assesses the application source code and recommends modernization pathways, such as porting to .NET Core. It also identifies Microsoft Windows dependencies on Microsoft Internet Information Services (IIS) and Microsoft Active Directory (AD), performs code modifications where possible, and assists in validating the refactored application on AWS services. Using the Toolkit for .NET Refactoring Visual Studio extension, you can perform all of these tasks within the Visual Studio integrated development environment (IDE).
Features of Toolkit for .NET Refactoring
The Toolkit for .NET Refactoring extension provides compatibility assessments, porting assistance, and testing on AWS.
Compatibility assessment Before you update your source code, Toolkit for .NET Refactoring performs an assessment of your .NET application source code and packages, such as NuGet and Microsoft Core. The extension determines compatibility based on whether a project can move to .NET Core runtime without code changes or package upgrades. The extension assesses .NET Core compatibility for solutions, projects, NuGet packages, and source code.
The compatibility assessment identifies the following:
Microsoft Windows dependencies on Microsoft Internet Information Services (IIS) and Microsoft Active Directory (AD).
API and package incompatibilities with newer cross-platform .NET versions, such as .NET Core 3.1, .NET 5, .NET 6 and .NET 7.
Toolkit for .NET Refactoring scans third-party and internal packages to classify them as compatible or incompatible. For each incompatible package, Toolkit for .NET Refactoring provides replacement options, if they are available.
Porting assistance When the compatibility assessment is complete, the Toolkit for .NET Refactoring extension provides porting assistance by suggesting code changes to remove incompatibilities that it found in the assessment. If the latest version of a package is compatible with .NET Core, the extension upgrades the package to its latest compatible version and updates the relevant project reference files and web.config files to a format that is compatible with .NET Core. Although the extension doesn't eliminate the need for manual source code changes, it reduces the initial effort that is required to refactor the source code.
Testing on AWS As you refactor your source code, you can use the Toolkit for .NET Refactoring extension to test and validate the code. To validate the code, you can deploy directly from Visual Studio to Amazon Elastic Container Service (Amazon ECS), hosted on AWS Fargate.
If the solution is a web application that has been ported to .NET Core, the Toolkit for .NET Refactoring extension provides the ability to test the application by running the application in the AWS Cloud. To do this, you might need to set up the necessary resources in the AWS account and build the artifact with the .NET publish command or rebuild the solution. You can use the Toolkit for .NET Refactoring extension to upload the artifact into your AWS account and run it inside an Amazon ECS Linux container instance to verify that the solution is fully compatible in a Linux environment.