在 Linux 中发布 .Net Core 应用程序

问题描述 投票:0回答:1

我有一个 .Net Core 5,我想在 Linux 机器上发布这个应用程序。

我在这台机器上安装了.net core 5 sdk。

我使用了

dotnet publish AppName.sln
,但我收到“恢复包”消息,并且它在此时停止。 我没有收到发布目录或错误消息来找出导致此问题的原因。

我是否缺少运行 .net core 应用程序的要求?

.net linux .net-core .net-core-publishsinglefile
1个回答
0
投票

@M.peace 当我部署到Linux时,我在Windows上发布应用程序并将文件复制到(部署到)Linux系统。我从不在Linux上发布。我只部署到Linux。这是一个重要的区别。以下是我的部署行动计划的部分内容:

在 Linux 系统上:(对我来说,Debian。如果您不使用 Debian,这可能会有所不同。)

Install snapd
    (https://snapcraft.io/docs/installing-snap-on-debian)
    sudo apt-get install snapd
    sudo snap install core
Install .NET 5 Core SDK
    (https://learn.microsoft.com/en-us/dotnet/core/install/linux-snap)
    sudo snap install dotnet-sdk --classic --channel=5.0
    sudo snap alias dotnet-sdk-50.dotnet dotnet
    sudo ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet

然后,Windows 构建机:

Publish Application
    Target Runtime = linux-x64
    Deployment Mode = Framework-dependent
    Zip publish folder and copy to host

我的发布设置是:

Visual Studio .NET Core Web App Publish Settings

这就是将构建的 .NET Core 项目移植到 Linux 上所需要做的全部事情。为此,您需要将其配置为运行。如何执行此操作取决于该项目是 Web 应用程序还是控制台应用程序。控制台应用程序相对简单。只需使用

dotnet project.dll
运行即可。 Web 应用程序需要配置 Apache 和 Kestrel。

© www.soinside.com 2019 - 2024. All rights reserved.