问题描述
我已经在 Linux 中部署了基于 WinSCP .NET 程序集的应用程序。 我收到此错误:
WinSCP.SessionLocalException:在程序集 WinSCPnet 的位置找不到 winscp.exe 可执行文件
Sessionoptions sessionoptions = new Sessionoptions
{
Protocol = Protocol.Sftp,HostName = _sftpConfig["Host"],UserName = _sftpConfig["UserName"],Password = _sftpConfig["Password"],};
解决方法
WinSCP .NET 程序集是 WinSCP.exe
脚本接口的包装器。
WinSCP 是一个 Windows 应用程序。它不能单独在 Linux 上运行。因此,该程序集在 Linux 上不起作用。引用 WinSCP .NET assembly documentation:
该库主要用于Microsoft Windows上的高级自动化任务,这些任务需要条件处理、循环或其他基本脚本接口过于有限的控制结构。
另一方面,独立的 WinSCP works under Linux using Wine 没有任何问题。我不知道,是否可以将 Wine 与 .NET 程序集一起使用。很有可能是有可能的,但我还没有看到它完成。