AWS Open Sources Tool for Porting .NET Framework Apps to .NET Core

Leading cloud computing platform Amazon Web Services (AWS) open sourced its tool for helping users port old .NET Framework applications to the new .NET Core framework.

Last July, AWS introduced the Porting Assistant for .NET. While it helps with the porting process, it doesn't actually do any nitty-gritty code conversion. Rather, AWS says it's designed to analyze older apps and estimate how much effort will be needed to port them to .NET Core, soon to be just part of the unifying .NET 5.

While several .NET Framework-to-.NET Core tools are available, including one from Microsoft, AWS in July said its tool differentiates itself by being able to assess the full tree of package dependencies in addition to common functionality such as detecting incompatible APIs. Furthermore, AWS said, it uses solution files as the starting point, easing the assessment of monolithic solutions that include many projects. That obviates the need to analyze and aggregate information on individual binaries.

How It Works
[Click on image for larger view.] How It Works (source: AWS).

"The Porting Assistant for .NET analyzes NuGet package dependencies and API usage in .NET Framework applications at the solution level," AWS said in a new Oct. 19 blog post. "With the compatibility and porting effort assessed, the assistant further helps in the porting process by removing the manual effort needed to convert project files to the new .NET Core format, including the upgrading of NuGet packages when compatible replacements exist."

While it already open sourced the data sets the tool used for compatibility analysis, AWS has now also contributed the source code and compatibility analysis components of the assistant.

The company said it's open sourcing those components to encourage community users to share and use porting best practices with recommendations and collaborate further on the project via reviews, comments, questions, suggestions and new conversations via GitHub issues, along with shaping the data sets.

Thus, the three components now available under an Apache 2.0 license include:

  • Porting Assistant for .NET client: Back-end assessment APIs and project porting code to simplify interfacing with the assistant from an app's source code. Find it here.
  • Codelyzer: The source code analyzer used by the assessment APIs. Find it here.
  • Porting Assistant for .NET Datastore: The original repository containing the data sets used in compatibility assessment, along with a new Recommendations folder for contributing to the NuGet and API replacement data. Find it here.

"We're excited about the Porting Assistant for .NET, and the positive reaction to it from the .NET community," AWS said this week. "As noted, we will be maintaining a roadmap in the repositories. Ideas for the future direction of the assistant include IDE integrations, a command-line interface, and improved support for scanning source code repositories (public and private).

"We recognize that the scope of porting .NET applications is broad enough that a community-based approach to tackling it is needed, so we plan on continuing to work on extensibility -- for example, adding the capability for users to add additional logic to extend the analysis. The team welcomes feedback and contributions in all those areas, and more, and looks forward to collaborating further with the community."

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube