C# 如何使用renci库在sftp中移动文件?

C# 如何使用renci库在sftp中移动文件?,c#,.net,visual-studio-2017,sftp,ssh.net,C#,.net,Visual Studio 2017,Sftp,Ssh.net,我正在尝试移动文件,但未发生任何事情,也未报告任何异常 public static void MoveFiles(string source, string destination, LoginInfo loginInfo) { using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {

我正在尝试移动文件,但未发生任何事情,也未报告任何异常

    public static void MoveFiles(string source, string destination, LoginInfo loginInfo)
    {
        using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password))
        {
            foreach (SftpFile file in sftp.ListDirectory(source))
            {
                file.MoveTo(destination + file.Name);
            }
        }
    }
调试器只需从foreach中退出:

我做错了什么

我正在使用以下依赖项:

using Renci.SshNet;
using Renci.SshNet.Sftp;

您需要首先使用将客户端连接到服务器

sftp.Connect();
如果出现任何错误,您还应该将其包装在try-catch中

public static void MoveFiles(string source, string destination, LoginInfo loginInfo) {
    try {
        using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {
            sftp.Connect();
            var files = sftp.ListDirectory(source)
            foreach (SftpFile file in files) {
                file.MoveTo(destination + file.Name);
            }
        }
    } catch(Exception ex) {
        //...handle
    }
}

您需要首先使用将客户端连接到服务器

sftp.Connect();
如果出现任何错误,您还应该将其包装在try-catch中

public static void MoveFiles(string source, string destination, LoginInfo loginInfo) {
    try {
        using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {
            sftp.Connect();
            var files = sftp.ListDirectory(source)
            foreach (SftpFile file in files) {
                file.MoveTo(destination + file.Name);
            }
        }
    } catch(Exception ex) {
        //...handle
    }
}

你忘了先“连接”你需要先将客户机连接到服务器你们都是对的,但为什么没有引发任何异常?用try-catch包装它,看看是否有异常caught@Nkosi我不知道没有你我该怎么办,伙计。在过去的几年里,你对我帮助很大。谢谢你所做的一切。你忘了先“连接”你需要先将客户端连接到服务器你们都是对的,但为什么没有引发任何类型的异常?用try-catch包装它,看看是否有异常caught@Nkosi我不知道没有你我该怎么办,伙计。在过去的几年里,你对我帮助很大。谢谢你所做的一切。