使用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
答案 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