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 for Converge360.

comments powered by Disqus


  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube