AWS Open Sources More Components of Its Porting Assistant for .NET
The Porting Assistant for .NET tool from Amazon Web Services (AWS), designed to help users port their old .NET Framework applications to the new .NET Core framework, is now available to the open source community.
AWS launched Porting Assistant for .NET this summer to analyze older apps and estimate how much effort it will take to port them to .NET Core, soon to be just part of the unifying .NET 5. The tool helps with the porting process, though it doesn't actually do any nitty-gritty code conversion. However, AWS said the tool stands apart from other .NET Framework-to-.NET Core tools in the market (including the one from Microsoft) by its ability to assess the full tree of package dependencies in addition to common functionality such as detecting incompatible APIs.
Furthermore, according to AWS, 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.
"The Porting Assistant for .NET analyzes NuGet package dependencies and API usage in .NET Framework applications at the solution level," AWS said in a blog post this week. "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. "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."
David Ramel is an editor and writer for Converge360.