是什么原因导致System.TypeLoadException?
我正在使用VS2008和C#开发霍尼韦尔海豚6100的应用程序。
我想添加一个功能,该功能可以将文件从本地设备发送到远程服务器。我找到了库“
Tamir.SharpSSH
”,可以保证这一点。我在控制台应用程序和普通Windows窗体应用程序上测试了代码,它可以完美运行。但是,当我尝试在winCE设备上使用相同的代码时,出现TypeLoadException并出现错误消息:
无法从程序集“ Tamir.SharpSSH”中加载类型“ Tamir.SharpSsh.SshTransferProtocolBase”, 版本= 1.1.1.13,文化=中性,PublicKeyToken =空'。
我使用的代码如下:
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();
有人对此有任何想法吗?我真的会很感激!
回答:
可能有很多东西。可能的原因是:
- 找不到程序集
- 找不到您的程序集所依赖的程序集
- 找到了程序集,但类型不在其中
- 类型的静态构造函数引发异常
最好的选择是使用Fusion日志查看器来帮助对其进行诊断。文档在这里:
http://msdn.microsoft.com/zh-
CN/library/e74a18c4(v=vs.110).aspx
(FYI“ Fusion”是设计程序集加载系统的团队的代号;不幸的是,代号最终以出厂产品的文件名结尾。该名称应称为“
AssemblyBindingLogViewer.exe”或一些这样的东西。)
以上是 是什么原因导致System.TypeLoadException? 的全部内容, 来源链接: utcz.com/qa/421426.html