gpt4 book ai didi

c# - 如何编译和运行适用于 Linux 的 .NET Core 服务?

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:54 26 4
gpt4 key购买 nike

我正在尝试使用 .NET Core 3.1 开发 C# Worker Service 并将其作为服务在 Ubuntu 计算机上运行。

我找到了this guide在 Linux 上设置 Worker Services,但在尝试启动该服务时遇到错误(请参见屏幕截图)。

该指南没有指定如何编译Linux的解决方案,所以我找到了this post并使用 dotnet build --runtime ubuntu.18.04-x64 编译了一个包。结果是一个包含我的应用程序且没有文件扩展名的文件夹,以及一长串 .dll 文件。

这是在 Windows 计算机上发布辅助服务(或者通常针对 Linux 的 .NET Core 应用程序)的正确方法吗?我无法找到任何关于如何正确执行此操作的官方文档或其他资源。

不幸的是,我无法直接在 Ubuntu 机器上进行开发,因为它只有一个命令行界面。

enter image description here

最佳答案

查看 dotnet run 的文档 ubuntu.18.04-x64 看起来像是一个不正确的运行时: https://learn.microsoft.com/en-us/dotnet/core/rid-catalog

Only common values are listed. For the latest and complete version, see the runtime.json file on the dotnet/runtime repository. Devices running a distribution not listed below may work with one of the Portable RIDs. For example, Raspberry Pi devices running a Linux distribution not listed can be targeted with linux-arm.

  • 可移植(.NET Core 2.0 或更高版本)

    • linux-x64(大多数桌面发行版,如 CentOS、Debian、Fedora、Ubuntu 及其衍生版本)

    • linux-musl-x64(使用 musl 的轻量级发行版,如 Alpine Linux)

    • linux-arm(在 ARM 上运行的 Linux 发行版,如 Raspberry Pi)
  • 红帽企业 Linux
    • rhel-x64(对于 RHEL 版本 6 以上,被 linux-x64 取代)
    • rhel.6-x64(.NET Core 2.0 或更高版本)
  • Tizen(.NET Core 2.0 或更高版本)
    • 蒂森
    • tizen.4.0.0
    • tizen.5.0.0

所以不要使用 dotnet build --runtime ubuntu.18.04-x64 尝试 dotnet build --runtime linux-x64

关于c# - 如何编译和运行适用于 Linux 的 .NET Core 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60346228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com