AWS open sources porting assistant for .NET: Early days for 'a broad problem'

Microsoft says no need to move but gap between .NET Framework and .NET Core is growing

AWS has published its Porting Assistant for .NET - which is supposed to help those wishing to convert .NET Framework projects to .NET Core - as open source on GitHub.

Microsoft's .NET Framework is the old Windows-only version, while .NET Core, soon to be known just as .NET once version 5.0 appears, is cross-platform and open source. There are several reasons for wanting to migrate .NET Framework applications, one being the fact that the current version 4.8 “will be the last major version of .NET Framework,” according to Microsoft’s Director of Program Management Scott Hunter. The other is the ability to deploy on Linux, as opposed to the more costly Windows Server.

This visualization of project dependencies is a neat way to see how the pieces of an application link together.

AWS attempts to woo devs with new tool aimed at porting .NET applications to Linux


Microsoft’s Hunter said that: “If you have existing .NET Framework applications that you are maintaining, there is no need to move these applications to .NET Core.”

There is no talk of deprecation as such: .NET Framework will continue to ship with Windows, and Microsoft itself continues to use it, both in the operating system and in applications including Visual Studio itself. The gap between .NET Framework and .NET Core will grow though, and developers who want the best performance or to take advantage of otherwise unavailable features will want to migrate.

AWS seems particularly keen on this, perhaps wanting to reduce the need for Windows Server on its cloud. The official line from AWS developer advocate Steve Roberts is “to take advantage of future investments in .NET, reduced license spend, and innovations to improve application scaling and performance on Linux.”

Back in July 2020 the cloud giant released the first version of a porting assistant tool, and it has now gone one step further, publishing the source code and describing its future plans.

The focus of the Porting Assistant is on analysing dependencies, based on a database of package information. A framework called Codelyzer, also now open source, collects metadata on C# source code ready for the Porting Assistant assessment functions.

The Assistant can also convert a .NET project file, updating references where possible to packages compatible with .NET Core. AWS warned though that: “When a project is ported, it might not be entirely .NET Core compatible because there may be other APIs, packages, and code blocks that must be substituted and refactored for compatibility.”

AWS assured us there has been “positive reaction to [Porting Assistant] from the .NET community” though it is by no means comprehensive. Microsoft also offers porting tools, including the Portability Analyzer which has its own dependency viewer and can identify incompatible assemblies, but which is less capable than the AWS tool when it comes to recommending alternatives.

There is also a project called try-convert which can work on simple applications; it was “built by members of the .NET team in their spare time,” which is perhaps an indication that Microsoft is not giving this problem sufficient attention. The .NET Framework was first released in 2002 and there is a huge legacy of applications which will have a constrained future unless converted.


Come on, Amazon: If you're going to copy open-source code for a new product, at least credit the creator


As for the AWS tool, the company said it is working on improvements including IDE integration, extensibility, and better support for scanning code repositories. "Porting .NET Framework applications to .NET Core is a broad problem space," Roberts said, and there is plenty more that could be done to speed up the process.

AWS regularly comes under fire for its half-hearted support and acknowledgement of open source, most recently in the case of a Chrome extension where it failed to publicly acknowledge the author of code it forked. No doubt it is happy now to remind us that it does have some open source engagement, and in this case Roberts made a point of saying that the project “benefits from multiple open source projects and contributions, and we appreciate their support and contribution.” This one seems like safe territory.

How about if AWS now worked with cloud rival Microsoft on improving .NET porting tools, rather than the fragmented efforts that currently exist? ®

Other stories you might like

  • US-APAC trade deal leaves out Taiwan, military defense not ruled out
    All fun and games until the chip factories are in the cross hairs

    US President Joe Biden has heralded an Indo-Pacific trade deal signed by several nations that do not include Taiwan. At the same time, Biden warned China that America would defend Taiwan from attack; it is home to a critical slice of the global chip industry, after all. 

    The agreement, known as the Indo-Pacific Economic Framework (IPEF), is still in its infancy, with today's announcement enabling the United States and the other 12 participating countries to begin negotiating "rules of the road that ensure [US businesses] can compete in the Indo-Pacific," the White House said. 

    Along with America, other IPEF signatories are Australia, Brunei, India, Indonesia, Japan, South Korea, Malaysia, New Zealand, the Philippines, Singapore, Thailand and Vietnam. Combined, the White House said, the 13 countries participating in the IPEF make up 40 percent of the global economy. 

    Continue reading
  • 381,000-plus Kubernetes API servers 'exposed to internet'
    Firewall isn't a made-up word from the Hackers movie, people

    A large number of servers running the Kubernetes API have been left exposed to the internet, which is not great: they're potentially vulnerable to abuse.

    Nonprofit security organization The Shadowserver Foundation recently scanned 454,729 systems hosting the popular open-source platform for managing and orchestrating containers, finding that more than 381,645 – or about 84 percent – are accessible via the internet to varying degrees thus providing a cracked door into a corporate network.

    "While this does not mean that these instances are fully open or vulnerable to an attack, it is likely that this level of access was not intended and these instances are an unnecessarily exposed attack surface," Shadowserver's team stressed in a write-up. "They also allow for information leakage on version and build."

    Continue reading
  • A peek into Gigabyte's GPU Arm for AI, HPC shops
    High-performance platform choices are going beyond the ubiquitous x86 standard

    Arm-based servers continue to gain momentum with Gigabyte Technology introducing a system based on Ampere's Altra processors paired with Nvidia A100 GPUs, aimed at demanding workloads such as AI training and high-performance compute (HPC) applications.

    The G492-PD0 runs either an Ampere Altra or Altra Max processor, the latter delivering 128 64-bit cores that are compatible with the Armv8.2 architecture.

    It supports 16 DDR4 DIMM slots, which would be enough space for up to 4TB of memory if all slots were filled with 256GB memory modules. The chassis also has space for no fewer than eight Nvidia A100 GPUs, which would make for a costly but very powerful system for those workloads that benefit from GPU acceleration.

    Continue reading

Biting the hand that feeds IT © 1998–2022