Visual Studio使用SCP / SFTP发布网站

时间:2009-10-11 02:53:15

标签: visual-studio visual-studio-2008 web publishing

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

2 个答案:

答案 0 :(得分:33)

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

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

答案 1 :(得分:4)

如果您安装了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
    • 使用sudo echo "xx.xx.xx.xx server" >> /etc/hosts
    • 将您的服务器添加到bash的主机中
  • 从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更好。