zoukankan      html  css  js  c++  java
  • asp.net调用非托管dll,无法加载 DLL,找不到指定模块解决方法。

    最近开发一个项目,里面用到了非.net开发的一个dll文件接口,发现发布到window2003服务器上后,运行网站总是提示 “无法加载 DLL“D:111.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。 ”这个错误。但是我在本地xp系统上调试是可以的。

    dll使用com调用如下

    [DllImport(@”D:111.dll”, EntryPoint = “aaa”, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
    public static extern Boolean aaa(bool x);

    提问地址:http://topic.csdn.net/u/20121031/17/2085fdf4-cf81-4cf9-8650-e02c1ed8d67d.html

    解决方法:

    步骤一:dll调用使用绝对路径,如DllImport(@”D:111.dll”或者将调用dll文件放到system32目录下。

    可参考http://blog.csdn.net/xsgreen/article/details/3647501

    步骤二:使用depends.exe工具查看要调用的dll文件引用了哪些组件(其它dll文件),搜索服务器system32目录,对比dll引用的组件是否存在服务器system32目录中,如果不存在,将缺少的dll文件复制到要调用的dll文件相同目录中。经过对比,发现服务器system32目录下缺少了borlndmm.dll这个dll文件,复制borlndmm.dll到服务器D盘11文件夹下,问题解决。

    步骤三:如果上面还没解决,应该就是权限问题,选中要调用dll文件存放文件夹,鼠标右键-》安全-》添加aspnet帐号(ASP.NET Machine Account),勾选完全控制即可。

    如果以上三步还不行,就不知道了。

    源地址:http://www.cnblogs.com/slyzly/articles/2748940.html

    最后注:depends.exe工具,不错的~~

  • 相关阅读:
    常用命令-eval简析
    bash手册 之重定向原理与实现
    TCP/IP 编程
    SQL Server存储内幕系列
    ORACLE优化器RBO与CBO介绍总结
    24小时学通LINUX内核系列
    SQL Server 优化器+SQL 基础
    JAVA 强引用、软引用、弱引用、虚引用
    iOS 如何做才安全--逆向工程
    Python 基础学习
  • 原文地址:https://www.cnblogs.com/elysian/p/6230064.html
Copyright © 2011-2022 走看看