将 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 的说明添加到程序集文档中。
我在我的项目中使用 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 的说明添加到程序集文档中。