为了账号安全,请及时绑定邮箱和手机立即绑定

在 Visual Studio 中将 .net core 应用程序部署到 Linux?

在 Visual Studio 中将 .net core 应用程序部署到 Linux?

C#
桃花长相依 2023-08-27 10:50:03
我正在 Visual Studio 2017 中构建一个 .net core 应用程序。我想将发布过程自动化到 Linux 计算机。这是我当前的流程:在 Visual Studio 中,单击“发布”选项卡,选择“发布”打开WinSCP,登录目标linux机器打开文件夹solution\myapp\bin\Release\netcoreapp2.2\publish\CTRL+A选择发布文件夹中的所有内容,CTRL+C复制所有文件,然后CTRL+V粘贴到WinSCP目标目录打开PuTTY,登录目标linux机器,使用以下命令重新启动应用程序dotnet myapp.dll从 Visual Studio 发布时可以自动执行这些步骤吗?
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

尝试dotnet-publish-ssh。

它的工作方式与 类似dotnet publish,但允许您通过 SSH 将应用程序复制到目标 Linux 计算机。

这是我的配置:

dotnet publish-ssh --ssh-host <host> --ssh-user <user> --ssh-password <pass> --ssh-path /var/<myapp> --configuration Release --framework netcoreapp3.1 --runtime linux-x64 --self-contained false /p:PublishSingleFile=true

要重新启动应用程序,您可以尝试使用 Posh-SSH 模块的 PowerShell:

Import-Module Posh-SSH

$serverAddress = "host addr"

$user = "user"

$pass = ConvertTo-SecureString "pass" -AsPlainText -Force

$creds = New-Object System.Management.Automation.PSCredential ($user, $pass)

$launchFolder = "/var/<myapp>"

$sshSession = New-SSHSession -ComputerName $serverAddress -Credential $creds -ErrorAction Stop

Invoke-SSHCommand -SSHSession $sshSession -Command "<your restart command>"

Remove-SSHSession -SSHSession $sshSession


查看完整回答
反对 回复 2023-08-27
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信