SharpSSH を既存の .NET 2.0 プロジェクトに統合しています。そのため、 http://sshnet.codeplex.com/または他の新しいライブラリに切り替えることはできません...
デバイスとの単一の接続ですべてが機能しており、コマンドを実行してファイルを問題なくアップロードできます。
ただし、このツールは複数のデバイスを同時に更新できる必要があるため、アプリケーションは同時に複数の Sharpssh 接続を開始します。その後、すべてが機能し続けますが、ファイルが完全にアップロードされず、「セッションがダウンしています」というエラーがスローされることがあります。
SshTransferProtocolBase tx = new Scp(_hostname, _username, _password);
tx.Connect();
tx.OnTransferProgress += new FileTransferEvent(tx_OnTransferProgress);
tx.Put(sshSource.FullName, "/tmp/" + Path.GetFileName(sshTarget));
// --> tx.Put throws the error
このように「new Scp」を「new Sftp」に置き換えると
SshTransferProtocolBase tx = new Sftp(_hostname, _username, _password);
エラー メッセージは次のとおりです。「inputstream is closed」または「session is down」
これを回避する方法についてのアイデアはありますか?
どうもありがとう、フランク