• 64位SDK二次开发为网站


    一:调试项目时,需要把IIS Express改为64位

    1.报错:c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

     原因:程序没有找到dll文件,dll文件放在网站的那个项目bin包里(有些人可能在同一个解决方案下新建了一个类库,在类库里开发的dll,dll放在类库的bin包里,这也是找不到dll的)

    2.报错:未能加载文件或程序集“XXXXX”或它的某一个依赖项。试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

     原因:环境位数与dll位数不匹配,x64和x86的问题

        方法:IIS调成64位(默认IIS是32位的)
                 VS2015自带IIS express,在vs的选项,选择工具->选项->项目和解决方案->Web项目
                把IIS 64位打勾就可以了
     
     
     
    3.报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
      原因:这原因有很多种,如果功能还没有做,只是初始化SDK、登录功能就报此错误,那么就还是位数不匹配(报错2)
     
    二:项目发布在IIS服务器上,需要把“启用32位应用程序”设置为false  。然后还有C++的DLL类库复制到  C:WindowsSystem32 文件夹下。
      注:博主用的是64位C++ DLL ,但发布后没有放到 Bin包下 和 C:WindowsSysWOW64  下,因为这两个地方网站还是打不开 卡死。
     
     
  • 相关阅读:
    协成
    进程与线程-多线程
    进程与线程2
    进程与线程
    socket编程
    常用模块二(hashlib、configparser、logging)
    异常处理
    python之路——面向对象进阶
    封装
    初识——面向对象
  • 原文地址:https://www.cnblogs.com/HansZimmer/p/10435353.html
Copyright © 2020-2023  润新知