J.M*_*M.J 24 c# ssh smart-device windows-ce visual-studio
我正在使用C#开发VS2008,这是一款适用于霍尼韦尔Dolphin 6100的应用程序,这是一款带有条码扫描器的移动计算机,它使用Windows CE 5.0,如操作系统.
我想添加一个功能,可以将文件从本地设备发送到远程服务器.我找到了可以保证这一点的图书馆" Tamir.SharpSSH ".我在控制台应用程序和普通的Windows窗体应用程序上测试了代码,它运行得很好.但是当我尝试在winCE设备上使用相同的代码时,我得到一个TypeLoadException并且我有错误消息:
Could not load type 'Tamir.SharpSsh.SshTransferProtocolBase' from assembly 'Tamir.SharpSSH, Version=1.1.1.13, Culture=neutral, PublicKeyToken=null'.
我使用的代码如下所示:
SshTransferProtocolBase sshCp = new Scp(Tools.GlobalVarMeth.hostName, Tools.GlobalVarMeth.serverUserName);
sshCp.Password = Tools.GlobalVarMeth.serverUserpassword;
sshCp.Connect();
string localFile = Tools.GlobalVarMeth.applicationPath + "/" + fileName + ".csv";
string remoteFile = Tools.GlobalVarMeth.serverRemoteFilePath + "/" + fileName + ".csv";
sshCp.Put(localFile, remoteFile);
sshCp.Close();
有谁对此有任何想法?我会非常感激!!!
Eri*_*ert 38
它可以是任何数量的东西.可能的原因是:
您最好的选择是使用Fusion日志查看器来帮助诊断它.文档在这里:
http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.110).aspx
(仅供参考"Fusion"是设计程序集加载系统的团队的代号;有些不幸的是代码名称最终出现在已发布产品的文件名中.该东西应该被称为"AssemblyBindingLogViewer.exe"或者一些这样的事情.)
AFr*_*act 23
Eric Lippert的答案完美地描述了这种情况.
我只想添加一个关于案例的快速答案,该案例通常不包含在有关此例外的帮助页面中.
我为一些开源软件创建了一个快速而肮脏的测试项目(Akka.Net,将其命名),我将项目命名为"Akka".
它完美构建,但在启动时会抛出类型加载异常关于Akka.dll中的类.
这只是因为我的可执行文件(akka.exe)和引用(akka.dll)具有相同的名称.我花了几分钟来计算这个(我开始使用复制本地,目标平台,确切版本等等).
这是非常愚蠢的但不强制你会想到的第一件事(特别是因为我使用nuget作为依赖项),所以我认为分享它会很有趣:如果你的EXE和依赖名称相同,你会遇到TypeLoadException.
| 归档时间: | 
 | 
| 查看次数: | 58495 次 | 
| 最近记录: |