.NET on AWS Blog

Announcing AWS Transform for .NET detailed transformation reports

Adi Parab, Charlize Yeh, Eunah Lee, Nits Jeganathan, Ramapulla Chennuru, Saksham Bhalla, and Samiullah Mohammed contributed to this blog post.

AWS Transform for .NET is an agentic AI service for modernizing .NET applications at scale. Customers have asked us for more transparency into what happens during transformation, such as the reasons for file changes and actionable error details. AWS Transform now provides detailed transformation reports in HTML format. In this post, we’ll walk you through how to access the reports, what the reports contain, and interaction features.

Accessing detailed transformation reports

Previously, .NET transformation jobs produced a transformation summary report, which could be downloaded from both the web console and Visual Studio IDE. The transformation summary report provides a transformation overview for the entire transformation job. Now we also have detailed transformation reports. Let’s review how you download these reports.

For web console users, the transformation summary report remains, but new detail reports are also available for each transformed repository. On the Dashboard tab, use the Download transformation summary report button to download the transformation summary report as shown in Figure 1. In the repository list, use the Download detailed report download icons to download a detail report for any repository.

Screenshot of AWS Transform web console with button to download transformation summary report for the job, and download icons to download detail reports for each repository.

Figure 1: Web console download links for repository transformation detail reports

For Visual Studio IDE users, the new transformation detail report replaces the transformation summary report. It describes transformation details for the transformed solution or project. You can download the report from the Transformation summary page using the Download Transformation Report button as shown in Figure 2. Install the latest AWS Toolkit for Visual Studio 2022, after uninstalling any prior version.

Visual Studio screenshot of Transformation summary pane with Download Transformation Report button.

Figure 2: IDE Transformation summary with Download button

Navigation features of the HTML transformation detail report

The detailed transformation reports intentionally contain a great detail of information. These HTML reports have navigation features to help you quickly find areas of interest, as shown in Figure 3. When you open a downloaded HTML detail report, you’ll notice a panel on the left with a Table of Contents. Select any item in the ToC to move to that section of the report. You can expand or collapse all sections of the report with the Expand All and Collapse All buttons at the top of the page.

Screenshot of transformation detail report showing table of contents, search bar, and expand/collapse buttons.

Figure 3: Transformation detail report with table of contents and search bar

There is a search bar above the TOC. When you enter search text, the TOC will filter to show only matching entries. For example, you can enter a solution or project name to quickly locate it, as shown in Figure 4.

Screenshot of transformation detail report showing search text filtering table of contents.

Figure 4: Repository detail report with table of contents filtered by search text

When sections contain table information, you can choose a column header to sort by that column, and to change ascending/descending sort order.

What’s in the transformation detail report

The transformation detail report contains a variety of sections in the following hierarchy. A repository-level report may contain multiple solutions. A report may not contain every section, depending on what you transform. For example, the Build Errors section only appears for partially transformed projects.

  • Job Information
  • For each solution:
    • Solution Transformation Summary
    • Transformation Overview
    • Projects
    • For each project:
      • Project Summary
      • Build Errors Summary
      • NuGet package changes
      • File Changes
      • Build Errors
      • Unit Test Results
    • Linux Readiness

Job Information

Job information identifies the Job Id and date of the transformation job, shown in Figure 5. If you report an issue with AWS Transformation for .NET, providing the Job Id is helpful for problem analysis.

Solution Transformation Summary

For each solution in the report, a Solution Transformation Summary section, shown in Figure 5, describes the transformation performed, such as .NET Framework 4.8.1 to .NET 8, or .NET 6 to .NET 8. It gives you an overall picture of the transformation, including a description of key technical changes, project structure modernization, and dependency updates. NuGet package changes for a solution can be downloaded in .csv format, which is helpful for in-depth reviews. Each solution in the report has a Download NuGet Package Changes button, shown earlier in Figure 3.

Screenshot of transformation detail report showing Job Information and Solution Transformation Summary sections.

Figure 5: Job Information and Solution Transformation Summary

Transformation Overview and Projects

The Transformation Overview section shows the transformation end result (completely transformed, partially transformed, or skipped). It also shows an overview of the transformation, with counts for project changes (total, completely transformed, partially transformed, skipped), NuGet package changes (Added, removed updated), and file changes (added, removed, updated, moved). The Projects section beneath it breaks this down by project and also shows a build error count. After that come the project detail sections for each project. Figure 6 shows the Transformation Overview and Projects sections.

Screenshot of transformation detail report showing Transformation Overview and Projects sections.

Figure 6: Transformation overview and Projects sections

Project details

Each project of the solution has a project section, which in turn contains project summary, build errors summary, NuGet package changes, file changes, and build errors itemization, when applicable. Figure 7 shows project details, with the inner sections collapsed.

Screenshot of transformation detail report showing collapsed project sections.

Figure 7: Project sections, collapsed

Project Summary

The Project Summary section, shown in Figure 8, explains the changes made to a project. These are broken out topically, such as changes to framework and project structure, middleware and request pipeline, authentication and security, dependency injection and services, vie engine and asset management, areas and routing, and added compatibility packages.

Screenshot of transformation detail report showing project summary section.

Figure 8: Project Summary section

Build Errors

If a project contains build errors, a Build Errors Summary section summarizes the error types encountered and advises on resolution. Further down, after package and file changes, a Build Errors section itemizes the individual build errors, with links to reference documentation for the build error codes. Figure 9 shows both sections.

Screenshot of transformation report showing Build Errors Summary and Build Errors sections.

Figure 9: Build errors summary and itemization

NuGet Package Changes

A project section will contain a NuGet Package Changes section if any package changes were made, shown in Figure 10. This lists each package, the type of change (such as added or removed), old version, and new version. As mentioned earlier, you can also download a .csv of all NuGet changes from the Solution Transformation Summary.

Screenshot of transformation detail report showing NuGet Package Changes section.

Figure 10: NuGet Package Changes section

File Changes and code diff views

A project section will contain a File Changes section if any file changes are made. Each row itemizes a file change and explains the reasons for the change. Some file changes are grouped together to give you context on related changes. When the same change is made to multiple files, there is one row describing the change. Figure 11 shows a File Changes section with both single-file and multi-file changes.

Screenshot of transformation detail report showing File Changes section.

Figure 11: File Changes section

You can view code differences for a file change. Use the View file link or View N files link to see code differences. A window will pop up showing a side-by-side code diff, shown in Figure 12. For grouped file changes, select which file to view from the Select file to view diff drop-down at upper left. To customize your code diff view, use the toggle controls at top to switch between a split vs. stacked view, whether to wrap lines, and light/dark theme.

Screenshot of transformation report showing code diffs dialog.

Figure 12: Code diffs view

Unit Test Results

If your solution contains .NET unit test projects, AWS Transform will port and execute them. A Unit Test Results section is included for solutions where unit tests were executed, showing the success or failure of each test project. Figure 13 shows a sample Unit Test Results section with passing tests.

Screenshot of transformation detail report showing Unit Test Results section.

Figure 13: Unit Test Results section

Linux Readiness

The Linux readiness section identifies compatibility issues in moving from Windows to Linux that require human attention. Previously, a Linux readiness report was available only to IDE users as a .csv file download. The Linux readiness report is now a section of the transformation detail report, shown in Figure 14, available to both web console and IDE users. The report is now in natural language.

Linux readiness section showing assessment and recommendations in natural language.

Figure 14: Linux Readiness section

Chat about transformation reports

The AWS Transform web console has context on both the transformation summary and detail reports, and you can chat about them in natural language. Through chat, you can get direct answers to specific questions, helping streamline your interactions. You can ask chat queries such as these:

  • List all of the nuget package changes in the [repo-name] repository during the .NET modernization
  • Give me a summary of the transformation for the [repo-name] project
  • Were there any build errors in the transformation job in any repository? Which build error occurred most often in the transformation?
  • Which projects were skipped in the transformation?
  • What changes were made to package Moq?
  • How can I resolve build error CS0433?

How to use the report

Once a transformation job completes, you’ll want to review the results for approval, including the details and reasons for changes, and identify remaining work needed to complete the modernization, such as resolving build errors. You can use the transformation detail report in the following ways:

Activity Section How to use
Create an AWS support case to investigate an issue Job information Provide the Job ID with your support case details.
Understand key migration changes Solution Transformation Summary Review key technical changes, project structure modernization, and dependency updates
Understand porting success for your projects and identify remaining porting work Transformation Overview Review which solutions and projects were successfully ported, partially ported, or skipped.
Review NuGet package changes NuGet Package Changes Download package changes .csv, open in a spreadsheet tool such as Excel, and discuss.
Understand and resolve build errors Build Errors Summary
Build Errors
Review build error categories and resolution advice. Use Build Errors itemization to identify each area of code affected.
Understand file changes and the reasons for change File Changes Review the file changes made to individual files or applies to groups of files. View the changes as code diffs.
View outcome of unit test projects Unit Test Results Review unit test projects. Study tests that did not pass.
Understand areas where human attention is needed to move from Windows to Linux Linux Readiness Review issues and recommendations.

Conclusion

In this post, we took a tour of the new transformation detail report in AWS Transform for .NET, packaged as an HTML file with navigation aids. We learned where to find job information, solution changes, project changes, file changes, package changes, build errors, unit test results, and Linux readiness information. As you transform .NET workloads, you now have greater visibility into changes made, the reasons for changes, and actionable details about errors. For more information about the service, visit the AWS Transform User Guide.

David Pallmann

David Pallmann

David Pallmann is a senior product manager on the AWS Transform team who focuses on the .NET developer experience. David has previously served in engineering, consulting, product, and tech manager roles. He worked on WCF, and later created Neuron ESB, the first .NET-based enterprise service bus. Follow him on X at @davidpallmann.