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

标签 c# winscp winscp-net

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

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

最佳答案

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

因此,虽然您可以将 winscp.exe 存储到应用程序资源中,但您必须将其提取到某个位置(例如临时文件夹),并设置 Session.ExecutablePath > 因此,在调用 Session.Open 之前。


受您问题的启发,我添加了 Embedding WinSCP executable as resource 的说明到装配文档。

关于c# - 将 WinSCP.exe 放入 WinSCP .NET 程序集的项目资源中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550509/

相关文章:

c# - 我能以更好的方式从 TcpClient 读取流吗?

c# - 将 GLcontrol 添加到 visual studio 工具箱

batch-file - 用于监视 FTP 服务器上更改的批处理脚本

Perl - Win32::OLE::const 错误

PowerShell 脚本将文件(但不包括子文件夹)复制到 SFTP,并在完成后移动到子文件夹

c# - 输入字符串的格式不正确

C# CefSharp DevTool 的关闭按钮不起作用

bash - 使用WinSCP在freeSSHD服务器上运行命令失败并显示 “Your shell is probably incompatible with the application (BASH is recommended)”

c# - 如何在 WinSCP C# 中使用 Session.GetFiles 下载单个文件

sql-server - 引用 WinSCPnet.dll 的 SSIS C# 2012 脚本任务在从 SQL Server 代理运行时失败,代码为 "Exception has been thrown by the target of an invocation"