在 Linux 上使用 WinSCP .NET 程序集

问题描述

我已经在 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 程序集一起使用。很有可能是有可能的,但我还没有看到它完成。