News

AWS Cloud Helps Users Port .NET Framework Apps to .NET Core

Amazon Web Services (AWS) introduced a tool to help its cloud computing users port their .NET Framework apps to .NET Core, the open source, cross-platform successor to the 18-year-old, Windows-only legacy framework.

Porting only to Linux, the new Porting Assistant for .NET scans apps and generates a .NET Core compatibility assessment, helping speed up ports to the new platform.

A July 1 announcement says the scan:

  • Identifies incompatibilities with .NET Core
  • Finds known replacements
  • Generates detailed compatibility assessment reports

"Porting .NET Framework applications to .NET Core helps customers take advantage of the performance, cost savings, and robust ecosystem of Linux. However, porting applications to .NET Core can be a significant manual effort," AWS said. "Application owners need to spend valuable time identifying the dependencies and APIs that are incompatible with .NET Core, and estimating the level of effort involved. Porting Assistant for .NET quickly scans .NET Framework applications to identify incompatibilities with .NET Core, finds known replacements, and generates a detailed compatibility assessment. This reduces the manual effort involved in modernizing your applications to Linux."

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

While several .NET Framework-to-.NET Core exist, including one from Microsoft, AWS 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.

"When porting .NET Framework applications, developers need to search for compatible NuGet packages and update those package references in the application’s project files, which also need to be updated to the .NET Core project file format," said AWS developer advocate Steve Roberts in a July 1 blog post. "Additionally, they need to discover replacement APIs since .NET Core contains a subset of the APIs available in the .NET Framework. As porting progresses, developers have to wade through long lists of compile errors and warnings to determine the best or highest priority places to continue chipping away at the task. Needless to say, this is challenging, and the added friction could be a deterrent for customers with large portfolios of applications."

The tool uses .NET Core 3.1 as a target, with that to eventually be upgraded to .NET 5, a unifying all-things-.NET framework debuting in November. Source apps must be .NET Framework 3.5 or greater (version 4.8 is the latest -- and last -- .Net Framework version). It works only for Windows services and ASP.NET applications.

Roberts' post, which goes into detail on how to use the porting assistant, notes that users sharing their telemetry will help improve the tool, generating data models behind the tool's suggestion engine. That data store is available on GitHub. That's the only open source component of the tool available at this time. While it now only works with AWS-provided builds, the company said it plans to open source the project in the future so others can contribute changes.

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