为了账号安全,请及时绑定邮箱和手机立即绑定

困扰了我一个星期的大难题

困扰了我一个星期的大难题

不负相思意 2018-11-01 05:03:56
.net在调用非扩管的dll的时候出现了错误,不知道怎么解决.问题出现在:LoadLibrary方法调用后,Marshal.GetLastWin32Error()的错误代码为5代码:   System.IntPtr moduleHandle = LoadLibrary(dllFilePath);   if (moduleHandle == IntPtr.Zero)   {    int errorCode = Marshal.GetLastWin32Error();    throw new Exception(string.Format("加载Dll时发生错误: {0}, error - {1}" , dllFilePath , errorCode));   }   return moduleHandle;网上查了代码为5的原因好像是:Attempt was made to dynamically link to a task, or there was a    sharing or network-protection error.(不是很确定就是这个原因)但是不知道怎么解决。顺便:这个问题在本地机器和测试服务器上都不会出现,在正式服务器上就出现了,怀疑是权限设置等问题,但又不确定是什么具体问题,所以请各位大哥大姐帮小弟一把。大太阳底下跪谢了~~~
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

从你提供的信息中很难断定是什么问题.

你可以试下在正式服务器上先RegSvr32 .dll再运行.


查看完整回答
反对 回复 2018-11-05
?
手掌心

TA贡献1942条经验 获得超3个赞

用DependWalk 查一下dll的依赖项,是不是那台服务器少装了你们开发机的某些东西呢;

可能依赖了开发环境的某个程序集;


查看完整回答
反对 回复 2018-11-05
  • 2 回答
  • 0 关注
  • 399 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信