无法加载DLL“DLLff2010.dll”:找不到指定模块(异常来自HRESULT:0x8007007E).我得程序之前一直可以调用这个DLL (vc做的)
 
        [DllImport("DLLff2010.dll", EntryPoint = "?InitInstance@@YAHXZ",
             CharSet = CharSet.Auto)]
        public static extern bool InitInstance();但是今天就提示这个错误 我从别的机器拷贝到另一个机器 有影响吗

解决方案 »

  1.   

    你的debug目录有DLLff2010.dll这个文件吗?你先看下一步步判断!
      

  2.   

    DLLff2010.dll有拷贝到对方的机器吗?DllImport会按照顺序自动去寻找的地方: 
    1、exe所在目录 
    2、System32目录 
    3、环境变量目录所以只需要你把引用的DLL 拷贝到这三个目录下
      

  3.   

     copy DLLff2010.dll到exe 文件 同一个目录下
      

  4.   

    拷贝了 在debug下 和system32下 考了 还是一样的错误 我在另一台机器新建一个项目 从做一遍还是一样错误 这个dll是操控硬件的 但是这个错误肯定还是找不到dll啊 郁闷
      

  5.   

    1.没有找到DLL文件
    2.没找到你的方法 "?InitInstance@@YAHXZ" 这个导出函数的名字有些奇怪,楼主创建DLL时有没有选择"可导出",标准的代码应该是这样的:extern "C" {
    #ifdef GETSN_EXPORTS
    #define GETSN_API __declspec(dllexport)
    #else
    #define GETSN_API __declspec(dllimport)
    #endif // 此类是从 getSN.dll 导出的
    class GETSN_API CgetSN {
    public:
    CgetSN(void);
    // TODO: 在此添加您的方法。
    }; extern GETSN_API int ngetSN;   // 导出变量名 GETSN_API int fngetSN(void);   // 导出函数名
    }
    就不会产生其他奇怪的字符
      

  6.   

    看看是否ActiveX DLL?如是要先注册...
      

  7.   

    没找到你的方法 "?InitInstance@@YAHXZ"那个查看dll函数名的 。net自带的一个工具叫什么来着 在哪来的 谁提醒一下
      

  8.   

    dll 文件公开登记 Oracle 连接所涉及到在通过 Microsoft 分布式事务处理协调器 (MSDTC) 启动的事务中的公共 API。 在事务处理环境中运行时, System.Data.OracleClient 程序集调用这些 API。System.Data.OracleClient 程序集的早期版本不支持分布式的事务。 因此,该依赖项不存在 System.Data.OracleClient 程序集版本 1.1 之前。当您执行分布式的事务活动时 System.Data.OracleClient 程序集使用 Oramts.dll 文件。 当您尝试执行 nontransacted 活动时, 或者当您使用本地事务时不加载 System.Data.OracleClient 程序集。 如果 Oracle 客户端连接软件,在安装过程中不包括此组件,您尝试使用分布式的事务与 System.Data.OracleClient ,您可能会收到以下错误信息:
    System.Data.OracleClient: Unable to load DLL 
      

  9.   

    我上个星期和你出现过同样的问题。。我是发布后配置到IIS里面登录出现这种问题。。是我机器的原因。。别人的机器上发布就好。。现在只能是说叫你换个机器试试。。
      

  10.   

    你可以使用这个工具看看动态库中的函数。
    depend.Exe