我已经开始在我的应用程序中使用 WinSCP .NET 程序集来启用 SFTP 传输。一切都很好,代码运行良好。
我的问题来自部署。
首先,我通过 NuGet 包管理器(5.7 版)安装了 WinSCP。
如前所述,我的代码运行良好,可以很好地连接到我的 SFTP 服务器,传输、重命名和删除文件也很好。
但....
当我发布应用程序时,我收到以下错误消息:
无法安装或运行应用程序。该应用程序要求首先将程序集 WinSCP 版本 1.0.6.3261 安装在全局程序集缓存 (GAC) 中。
有趣的是,WinSCPnet.dll
从 NuGet 安装的版本是 1.2.6.5125。
我正在使用 VS 2013 Ultimate,并使用内置的发布向导。
环顾网络,我发现文章说WinSCPnet.dll
需要在 GAC 中,所以我的第一个操作是使用 手动将安装的版本WinSCPnet.dll
(版本 1.2.6.5125)添加到目标计算机上的 GAC 中gacutil /I winscpnet.dll
,它确实成功了在文件夹中可见Windows\assembly
,但在尝试重新安装应用程序后,目标计算机上会出现相同的错误消息。
很遗憾,除非我能解决这个问题,否则我将不得不停止使用这个产品并尝试其他的东西。