Visual Studio使用SCP/SFTP发布网站

Jos*_*ant 14 publishing visual-studio-2008 visual-studio web

有没有办法使用SCP或SFTP从Visual Studio 2008发布网站?我知道可以发布到我的本地文件系统然后用SCP执行传输,但我想要更无缝的东西(例如Visual Studio的一部分).这个功能是否存在?也许是一个插件?

Zac*_*ing 34

用于发布页面的内置系统有点受限.

我觉得有用的一件事是使用WinSCP,有一个名为"保持远程目录最新"的功能.它将为您的本地系统设置一堆文件系统监视器,如果您在本地更改某些内容,它将自动上载它.使用它并发布到本地目录可以简化操作.

  • 光滑的功能,直到现在才知道它存在.太糟糕了Filezilla不提供这样的东西. (2认同)

Sol*_*eil 5

如果您已安装Windows 10和bash / linux子系统以及Linux / BSD服务器,则可以:

结合ssh和rsync

  • 来自Visual Studio,发布在文件夹中,例如 I:/www/WebProject
  • 使用此命令仅更新更改,并删除已发布文件夹中已删除/不存在的文件,这要归功于 --delete

bash -c "rsync -avH --delete --progress /mnt/i/www/WebProject -e ssh server:/var/www/"

准备(一次)

您需要做一些工作以允许ssh在没有密码但有密钥的情况下工作。

  • 假设您的bash用户名在服务器上也相同;如果没有,那就用username@server

  • 命名您的服务器:

    • 添加xx.xx.xx.xx server到文件c:/windows/system32/drivers/etc/hosts
    • 将您的服务器从bash添加到主机 sudo echo "xx.xx.xx.xx server" >> /etc/hosts
  • 从bash生成密钥:

ssh --keygen 然后[输入](无密码)

  • 将您的公钥发送到服务器的主文件夹中:

scp ~/.ssh/id_rsa.pub servername:~/

  • 从您的服务器(ssh server然后输入密码):

cat id_rsa.pub >> .ssh/authorized_keys && rm id_rsa.pub

现在,您可以sshscp没有密码。IMO这比filezilla或scp更好。