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

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube