Я начал использовать сборку WinSCP .NET в своих приложениях, чтобы включить передачу SFTP. Все хорошо, и код работает очень хорошо.
Моя проблема связана с развертыванием.
Во-первых, я установил WinSCP через менеджер пакетов NuGet (версия 5.7).
Как уже говорилось, код, который у меня есть, отлично работает, отлично подключается к моему SFTP-серверу, отлично передает, переименовывает и удаляет файлы.
Но....
Когда я публикую приложение, я получаю следующее сообщение об ошибке:
Невозможно установить или запустить приложение. Приложение требует, чтобы сборка WinSCP версии 1.0.6.3261 была сначала установлена в глобальном кэше сборок (GAC).
Забавно, что версия WinSCPnet.dll
installed из NuGet — 1.2.6.5125.
Я использую VS 2013 Ultimate и использую встроенный мастер публикации.
Просматривая сеть, я нашел статьи, в которых говорилось, что WinSCPnet.dll
должен быть в GAC, поэтому моим первым действием было вручную добавить установленную версию WinSCPnet.dll
(версия 1.2.6.5125) в GAC на целевой машине с помощью gacutil /I winscpnet.dll
, что действительно удалось так как он виден в папке Windows\assembly
, но такое же сообщение об ошибке появляется на целевом компьютере после попытки переустановить приложение.
Это позор, так как, если я не смогу разобраться с этим, мне придется прекратить использовать этот продукт и попробовать что-то другое.