1

SQL Server 2016 (13.0.15000.23) と最新の SSDT を備えた VS 2015 コミュニティでの SSIS の使用 1 つのスクリプト タスクを含む単純な SSIS テスト パッケージがあります。そのタスクでは、.NET 4.0 DLL である Renci.sshnet (2014.4.6.0) への参照を追加しただけです。
プロジェクトのターゲット フレームワークを 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 を参照して使用するたびに実行されません

また、書き込みラインにブレークポイントを設定しようとしましたが、そこに到達できません..到達する前に失敗します..

何か案は?私には選択肢がありません。

前もって感謝します。

-ケン

4

1 に答える 1

2

どうやら、参照されている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

于 2016-06-24T02:20:14.610 に答える