问题
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
回答1:
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
.
来源:https://stackoverflow.com/questions/58474819/net-core-3-0-publish-for-arm64