当前位置: 代码迷 >> .NET组件控件 >> 无法加载xxx.dll找不到指定的模块解决方法
  详细解决方案

无法加载xxx.dll找不到指定的模块解决方法

热度:226   发布时间:2016-05-04 23:22:51.0
无法加载xxx.dll找不到指定的模块
各位好,我现在用C# 调用身份证读卡器做成activx控件js端调用
提示无法加载cardapi2.dll 系统找不到指定的模块

而在winform端测试可以正常读取身份证

C#代码

 [DllImport("cardapi2.dll", EntryPoint = "OpenCardReader", CallingConvention = CallingConvention.StdCall,
            CharSet = CharSet.Unicode)]
        public static extern Int32 OpenCardReader(Int32 lPort, UInt32 ulFlag);

        [DllImport("cardapi2.dll", EntryPoint = "GetPersonMsgW",
            CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
        public static extern Int32 GetPersonMsgW(ref PERSONINFOW pInfo, string pszImageFile);

        [DllImport("cardapi2.dll", EntryPoint = "CloseCardReader",
            CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
        public static extern Int32 CloseCardReader();


        [DllImport("cardapi2.dll", EntryPoint = "CloseCardReader",
            CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
        public static extern Int32 ResetCardReader();

如果是因为bs访问页面是虚拟路径原因,那我bs端怎么设置这个DllImport("xxx.dll" 这个dll路径
谢谢
------解决方案--------------------
你这个dll文件要放在客户端才能读身份证信息

cardapi2.dll是api形式的dll,不能在前台通过CreateObject方式创建对象的
需要做成com型的能用regsvr32注册的方式才行
  相关解决方案