Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NET Core 3.0 Publish for ARM64

Does anyone know how to publish a .NET Core 3.0 application for ARM64? I can only select "linux-arm" but no "linux-arm64". Setting linux-arm in combination with x64 also doesnt work. It says the settings are not compatible.

As stated here it should already be supported: https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0-supported-os.md

like image 959
Daniel P. Avatar asked Oct 20 '19 16:10

Daniel P.


1 Answers

The linked article points to the supported OSs, not the list of runtime identifiers. An explanation of an RID and a list of common ones can be found in .NET Core RID Catalog. The full list can be found at the CoreFX repo, in runtime.json. linux-arm64 is included but that's only the base OS. There are a lot of specific identifiers like "debian-arm64", "debian.10-arm64", "rhel-arm64" and "ubuntu-arm64". You'll have to use the RID that corresponds to your distribution.

As the RID catalog explains, a runtime identifier consists of the OS, OS version, architecture and optional extra qualifiers.

[os].[version]-[architecture]-[additional qualifiers]

ubuntu-arm64 is the generic Ubuntu version for ARM64 while ubuntu.19.04-arm64 targets Ubuntu 19.04 specifically.

There's no specific version for Raspbian. If you want to target Raspberry in general, you'll have to use linux-arm. If you want to take advantage of the 4GB RAM model, assuming you already use a 64bit OS you may be able to target linux-arm64.

like image 122
Panagiotis Kanavos Avatar answered Sep 19 '22 04:09

Panagiotis Kanavos