.Net Core publish发布应用到指定linux环境

    技术2022-07-11  83

    .Net Core publish发布应用到指定linux环境

    两种方式:

    1、构建适用自己环境的应用

    1.1选择适合自己的目标运行时

    目前,VS2019中,可选的运行时是有限的,比如就没有linux-arm64, 在官网中,是有较多可选版本运行时的:官网连接点这里 这是linux部分,当然你可以找你想要的部分 可移植(.NET Core 2.0 或更高版本) linux-x64(大多数桌面发行版,如 CentOS、Debian、Fedora、Ubuntu 及派生版本) linux-musl-x64(使用 musl 的轻量级发行版,如 Alpine Linux) linux-arm(在 ARM 上运行的 Linux 发行版本,如 Raspberry Pi Model 2 及更高版本上的 Raspbian) linux-arm64(在 64 位 ARM 上运行的 Linux 发行版本,如 Raspberry Pi Model 3 及更高版本上的 Ubuntu 服务器 64 位) Red Hat Enterprise Linux rhel-x64(被 linux-x64 取代,适用于 RHEL 6 以上版本) rhel.6-x64(.NET Core 2.0 或更高版本) Tizen(.NET Core 2.0 或更高版本) tizen tizen.4.0.0 tizen.5.0.0

    1.2发布自己的应用

    找到你想要发布的应用目录下,也就是你的应用.csproj这个层级的目录下,打开shell, windows下则是powershell。运行下面代码,后面的运行时根据自己需要选择。我这里是linux-arm64

    dotnet publish -r linux-arm64

    等待运行完成,找到对面的publish文件夹,里面就是你的文件,然后把文件拷贝到对应目录。 直接运行即可。

    若是linux,则是 你的应用名 这个文件,不带后缀。

    chmod +x 应用名 ./应用名

    这里我使用的是树莓派debian10,arm64位,使用以上发布后,亲测可以运行。按照官网说明,linux-arm64是基于ubuntu 64位的。

    2、使用运行时运行自己的应用

    2.1安装运行时runtime

    这里安装我就不详细说明了,在我的博客里有。点这里

    2.2发布自己的应用

    直接VS中发布自己的应用,选择文件模式,目标运行时选择可移植的,发布后。拷贝自己的文件到服务器。

    2.3运行应用

    直接命令运行即可。

    dotnet 应用名.dll
    Processed: 0.010, SQL: 9