.NET Core 3.0 为 ARM64 发布

.NET Core 3.0 Publish for ARM64

有谁知道如何发布适用于 ARM64 的 .NET Core 3.0 应用程序? 我只能 select "linux-arm" 但不能 "linux-arm64"。 结合 x64 设置 linux-arm 也不起作用。它说设置不兼容。

正如此处所述,它应该已经得到支持:https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0-supported-os.md

链接的文章指向支持的 OSs,而不是运行时标识符列表。在 .NET Core RID Catalog. The full list can be found at the CoreFX repo, in runtime.json 中可以找到 RID 的解释和常见的列表。 linux-arm64 包括在内,但这只是 base OS。有很多特定的标识符,例如 "debian-arm64""debian.10-arm64""rhel-arm64""ubuntu-arm64"。您必须使用与您的发行版相对应的 RID。

如 RID 目录所述,运行时标识符由 OS、OS 版本、体系结构和可选的额外限定符组成。

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

ubuntu-arm64 是 ARM64 的通用 Ubuntu 版本,而 ubuntu.19.04-arm64 专门针对 Ubuntu 19.04。

Raspbian 没有特定版本。如果你想以 Raspberry 为目标,则必须使用 linux-arm。如果您想利用 4GB RAM 型号,假设您已经使用 64 位 OS,您可以瞄准 linux-arm64

linux-arm64 在发布配置文件设置中不可用,但如果您使用 linux-arm 构建它并随后手动编辑您的 .pubxml 文件,它可以工作在 pi 上就好了。正如您提供的 link 所示,它是受支持的。好像还没有添加到工具中。

照常发布然后编辑.pubxml

改变 <RuntimeIdentifier>linux-arm</RuntimeIdentifier><RuntimeIdentifier>linux-arm64</RuntimeIdentifier>

然后你可以在 64 位上发布 Raspberry pi。