将 WinSCP.exe 放入 WinSCP .NET 程序集的项目资源中

Place WinSCP.exe in project resources for WinSCP .NET assembly

我在我的项目中使用 WinSCPnet.dll 并且要正确 运行 它需要在启动目录中使用 WinSCP.exe 例如project_path/obj/Debug。但是如果我想使用我的程序,它需要一直在同一个文件夹中有这个 .exe 文件,否则程序会崩溃。

是否可以将 WinSCP.exe 放入项目资源中,这样我就不必每次移动它时都将其放在同一目录中?

(抱歉我的英语笨拙,请不要为此对我投反对票:/如果您需要一些额外的信息,我很乐意post)

在您调用 Session.Open 时,winscp.exe 必须作为真实文件存在。

因此,虽然您可以将 winscp.exe 存储到您的应用程序资源中,但您必须将其提取到某处(例如临时文件夹),并相应地设置 Session.ExecutablePath,然后再调用 Session.Open


受您问题的启发,我已将 Embedding WinSCP executable as resource 的说明添加到程序集文档中。