News

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 at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube