【问题标题】:.NET Core 3.0 Publish for ARM64.NET Core 3.0 发布 ARM64
【发布时间】:2019-10-20 16:08:16
【问题描述】:

有人知道如何为 ARM64 发布 .NET Core 3.0 应用程序吗? 我只能选择“linux-arm”,但不能选择“linux-arm64”。 结合 x64 设置 linux-arm 也不起作用。它说设置不兼容。

正如这里所说,它应该已经被支持:https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0-supported-os.md

【问题讨论】:

  • 你的 csproj 中有哪些平台和标识符?
  • doesn't work 是什么意思?你尝试了什么?您在命令行或项目文件中使用了哪些运行时 ID?
  • 链接指向支持的操作系统,而不是运行时标识符列表。该列表是here

标签: .net-core publish arm64 .net-core-3.0


【解决方案1】:

链接的文章指向支持的操作系统,而不是运行时标识符列表。可以在.NET Core RID Catalog 中找到 RID 的说明和常用的列表。 完整列表可在 CoreFX 存储库中找到,地址为 runtime.jsonlinux-arm64 包含在内,但这只是 base 操作系统。有很多特定的标识符,如"debian-arm64""debian.10-arm64""rhel-arm64""ubuntu-arm64"。您必须使用与您的发行版相对应的 RID。

正如 RID 目录所解释的,运行时标识符由操作系统、操作系统版本、体系结构和可选的额外限定符组成。

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

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

Raspbian 没有特定的版本。如果您想总体上以 Raspberry 为目标,则必须使用 linux-arm。如果您想利用 4GB RAM 模型,假设您已经使用 64 位操作系统,您可能可以定位 linux-arm64

【讨论】:

    【解决方案2】:

    发布配置文件设置中无法使用 linux-arm64,但如果您使用 linux-arm 构建它并在之后手动编辑您的 .pubxml 文件,它可以在 pi 上正常工作。正如您提供的链接所示,它是受支持的。似乎还没有添加到工具中。

    照常发布,然后编辑.pubxml

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

    然后您可以在 64 位树莓派上发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 2020-06-21
      • 2017-06-23
      • 2020-04-04
      相关资源
      最近更新 更多