Renci.SshNet无法在SSIS 2016脚本任务中工作

时间:2016-06-24 02:00:21

标签: ssis sql-server-2016 ssh.net

使用SQL Server 2016(13.0.15000.23)& SSIS与VS 2015社区一起使用最新的SSDT 我有一个简单的SSIS测试包,包含1个脚本任务。 在那个任务中,我简单地添加了对Renci.sshnet(2014.4.6.0)的引用,这是一个.NET 4.0 DLL 我将项目目标框架更改为4.0 可以进行基本调用以创建连接:

Console.WriteLine("Start");

Renci.SshNet.ConnectionInfo ConnNfo = new   
Renci.SshNet.ConnectionInfo("hostOrIP", 22, "username",
       new AuthenticationMethod[]{

            // Pasword based Authentication
            new PasswordAuthenticationMethod("username","password"),

            // Key Based Authentication (using keys in OpenSSH Format)
            new PrivateKeyAuthenticationMethod("username",new PrivateKeyFile[]{
                new PrivateKeyFile(@"..\openssh.key","passphrase")
            }),
       }
   );

当我运行它时,立即获得DTS脚本任务:运行时错误 "调用目标抛出了异常。"

我已经接受了代码,并制作了一个独立的控制台应用程序..甚至4.5,它运行正常。

对于具有Sql Server 2008R2

的旧服务器中的完全相同的代码,这一切都运行良好

我在新配置中遗漏了一些东西。每当我引用并使用renci.sshnet

时它都不会运行

我也尝试过但在断线上有一个断点而且它没有让我在那里......它在我能够达到它之前就失败了..

有什么想法吗?我没有选择。

提前致谢。

-Ken

1 个答案:

答案 0 :(得分:1)

显然你必须将任何引用的DLL添加到GAC!是啊..忘了..这修好了......只能从VS命令提示符的管理运行..

   D:\Flint\References>gacutil /i Renci.SshNet.dll
   Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.0
   Copyright (c) Microsoft Corporation.  All rights reserved.

   Assembly successfully added to the cache

将此作为参考...... http://microsoft-ssis.blogspot.ru/2011/05/referencing-custom-assembly-inside.html