短信猫的dll我是放在C:\windows\system32\下的,
直接运行vs2005,可以调用到dll,发送短信。然而,发布网站后,就是release一下,
点了发布网站,生成的信息发布到了iis下,
运行iis下的网站后,提示 无法加载 DLL“sms.dll”: 内存分配访问无效.这个dll估计是找不到,希望高手指点下啊,很急

解决方案 »

  1.   

    你看看是不是IIS权限设置不够?
      

  2.   

    iis->属性->主目录->执和权限,改成,脚本和可执行文件。
      

  3.   

    dll你最好打包发布到你的IIS所在服务器了吗 ?你本机连接只是本地的dll,不行建议你引用到你的BIN目录下,然后发布 !
      

  4.   

    computerfox 你好,我是用的iis 5.1,怎么查看设置iis权限啊?
     
      

  5.   

    为什么不直接把DLL放到bin文件夹下面呢??然后引用,一起发布,
      

  6.   

    短信发布,是要调用dll里的方法的。放在bin下,引用不到啊
      

  7.   

    原来的方法是这样写的[DllImport("sms.dll", EntryPoint = "Sms_Connection")]
    这个会直接找system32下的dll放在bin下面,怎么写啊?[DllImport("Bin\\sms.dll", EntryPoint = "Sms_Connection")]
      

  8.   

    dll是不能直接添加引用到bin下的,
      

  9.   

    看看是不是少加了SDK中其他的dll文件进去相关依赖性的dll
      

  10.   

    用 depends.exe 试一试,检查一下,都少了什么引用
      

  11.   

    直接放到你项目中的BIN目录下面,然后在项目里面引用它就可以了
      

  12.   

    添加引用找到那个DLL  编译后DLL 会到程序的Debug下`IIS 目录指到这个目录就可以了
    无法访问就是你IIS权限问题
      

  13.   

    把dll放到服务器对应的system32下
      

  14.   

    现在我把dll放在了另外一台机器上,再把网站配置起来,但还是一样的,总提示连接不成功
      

  15.   

    我原来遇到这个问题时,是把DLL放在bin下,后来放在system32下就可以了。就是不知道为什么。你多试试,放在环境变量下也试试。
    如果放在bin,sytem32,环境变量下,都可以直接自动加载。
    如果还是加载不上,就只好用方法手动加载了。
        private IntPtr library=IntPtr.Zero;
         string path = System.Web.HttpContext.Current.Server.MapPath("..\\Bin\\DLL\\EQ2008_Dll.dll");
            library = IntPtr.Zero;
            library = LoadLibrary(path);
            if (library == IntPtr.Zero)
                throw (new Exception("未载入有效的DLL模块, 请确认DLL文件: 是否有效!"));
    加载使用过之后,要记得卸载。
     
    FreeLibrary(library);
            library = IntPtr.Zero;