我强烈命名了所有树包(DiffieHellman.dll,Org.Mentalis.Security.dll,Tamir.SharpSSH.dll),并且我已经将包调用到我的应用程序,该应用程序必须具有强名称。
但有一个例外,我无法解决。我编写了另一个没有强名称包的演示,但是工作正常。
Connect Exception: Tamir.SharpSsh.jsch.JSchException: Session.connect: System.IO.FileLoadException: Could not load file or assembly 'DiffieHellman, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
File name: 'DiffieHellman, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
at Tamir.SharpSsh.jsch.jce.DH.getE()
at Tamir.SharpSsh.jsch.DHG1.init(Session session, Byte[] V_S, Byte[] V_C, Byte[] I_S, Byte[] I_C)
at Tamir.SharpSsh.jsch.Session.receive_kexinit(Buffer buf)
at Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)
答案 0 :(得分:0)
我终于解决了这个问题。 Tamir.SharpSSH.dll调用DiffieHellman.dll的版本是1.0.0.11,我调用DiffieHellman.dll的版本是0.0.0.0。 这就是我无法加载包的原因。 我的解决方案喜欢这个 下载DiffieHellman的源代码,将其重新编译为1.0.0.11版本并强大命名。