【问题标题】:Deploy .net core app to linux in visual studio?在 Visual Studio 中将 .net 核心应用程序部署到 linux?
【发布时间】:2019-08-14 02:56:17
【问题描述】:

我正在 Visual Studio 2017 中构建一个 .net 核心应用程序。我想将我的发布过程自动化到一台 linux 机器上。

这是我目前的流程:

  1. 在 Visual Studio 中,单击“发布”选项卡,选择“发布”
  2. 打开WinSCP,登录目标linux机器
  3. 打开文件夹solution\myapp\bin\Release\netcoreapp2.2\publish\
  4. CTRL+A在发布文件夹中全选,CTRL+C复制所有文件,然后CTRL +V粘贴到WinSCP目标目录
  5. 打开PuTTY,登录目标linux机器,使用dotnet myapp.dll重启应用

我可以在从 Visual Studio 发布时自动执行这些步骤吗?

【问题讨论】:

    标签: c# linux visual-studio publish


    【解决方案1】:

    试试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
    

    【讨论】:

    • 我什至不知道如何安装,在 VS 2019 中使用这个插件。我找不到任何文档
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 2023-03-21
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    相关资源
    最近更新 更多