企业信息机,短信平台二次开发(无法加载 DLL“SMEntry.dll”: 找不到指定的模块。)
在做一个华为的企业信息机,短信服务商提供了个 接口 SMEntry.dll,已将它放至bin文件夹下以下为代码,运行到int count = SP_Startup("10.10.117.6,1393", "test", "test");
报错 “无法加载 DLL“SMEntry.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。”根据网上搜索的说把SMEntry.dll也都拷入C:\WINDOWS\system32\inetsrv和C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\,还是报无法加载 DLL
请各位高手指点迷津
--------------------编程问答-------------------- 你的函数是怎样封装的?
[DllImport("SMEntry.dll")] --------------------编程问答-------------------- using System.Runtime.InteropServices;
namespace Front.zxzy
{
public partial class Question : System.Web.UI.Page
{
[DllImport("SMEntry.dll")]
public static extern int SubmitShortMessage(string AtTime, string SourceAddr, string DestAddr, string Content, int ContentLen, int NeedStateReport, string ServiceID, string FeeType, string FeeCode);
[DllImport("SMEntry.dll")]
public static extern int SP_Startup(string DBName, string Account, string Password);
[DllImport("SMEntry.dll")]
public static extern void SP_Cleanup();
到int count = SP_Startup("10.10.117.6,1393", "test", "test"); 就报无法加载 DLL“SMEntry.dll --------------------编程问答--------------------
这样的方式试试
版本是什么 你现有的程序的 是一致的么 --------------------编程问答-------------------- 应该没问题啊《难道是依赖项没给?? --------------------编程问答-------------------- 有一个DLL需要注册到系统的,
你在那台机器上用 就到那台机器上注册下那个DLL就可以了。 --------------------编程问答-------------------- 目前表面上看不出来什么问题。
我估计dll不全。
你把dll放在system32下再试一次。
如果情况还不理想,先联系下厂家。 --------------------编程问答-------------------- 看看DLL里有没有你调用的那个函数? --------------------编程问答--------------------
--------------------编程问答-------------------- 非常感谢楼上的 [DllImport(@"c:\xxxx\bin\SMEntry.dll")],换成全路径代码就能继续往下走了,但是信息机初始化成功,错误码=-1011,郁闷啊 --------------------编程问答-------------------- 上面写错了,是信息机初始化失败,错误码=-1011
//如果是asp.net程序,必须是全路径,即便在bin下也必须写全路径,例如:
[DllImport(@"c:\xxxx\bin\SMEntry.dll")]
高手高手,帮帮忙啊!!! --------------------编程问答-------------------- 咨询了移动的客服,说是部署环境的问题,有没有谁也遇到过啊。 --------------------编程问答-------------------- 将SMEntry.dll拷贝到当前目录或\windows\system32目录下 --------------------编程问答--------------------
那你继续问:怎么正确部署啊。。。 --------------------编程问答-------------------- 我曾经在做过这样的!他们应该会给一个开发文档 dll 放在system文档下!
[DllImport("SMEntry.dll")]文档里面有对方提供的函数!
public static extern ...xi这样写一次!
然后调用即可!
补充:.NET技术 , C#