当前位置:编程学习 > C#/ASP.NET >>

企业信息机,短信平台二次开发(无法加载 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 --------------------编程问答--------------------
引用 1 楼 lovesongforever 的回复:
你的函数是怎样封装的?

[DllImport("SMEntry.dll")]


这样的方式试试 
版本是什么  你现有的程序的 是一致的么 --------------------编程问答--------------------
引用 2 楼 xuminlily 的回复:
using System.Runtime.InteropServices;

namespace Front.zxzy
{
    public partial class Question : System.Web.UI.Page
    {
        [DllImport("SMEntry.dll")]
        public static extern int S……
应该没问题啊《难道是依赖项没给?? --------------------编程问答-------------------- 有一个DLL需要注册到系统的,
你在那台机器上用 就到那台机器上注册下那个DLL就可以了。 --------------------编程问答-------------------- 目前表面上看不出来什么问题。

我估计dll不全。

你把dll放在system32下再试一次。

如果情况还不理想,先联系下厂家。 --------------------编程问答-------------------- 看看DLL里有没有你调用的那个函数? --------------------编程问答--------------------

//如果是asp.net程序,必须是全路径,即便在bin下也必须写全路径,例如:
 [DllImport(@"c:\xxxx\bin\SMEntry.dll")]

--------------------编程问答-------------------- 非常感谢楼上的 [DllImport(@"c:\xxxx\bin\SMEntry.dll")],换成全路径代码就能继续往下走了,但是信息机初始化成功,错误码=-1011,郁闷啊 --------------------编程问答-------------------- 上面写错了,是信息机初始化失败,错误码=-1011
高手高手,帮帮忙啊!!! --------------------编程问答-------------------- 咨询了移动的客服,说是部署环境的问题,有没有谁也遇到过啊。 --------------------编程问答-------------------- 将SMEntry.dll拷贝到当前目录或\windows\system32目录下  --------------------编程问答--------------------
引用 11 楼 xuminlily 的回复:
咨询了移动的客服,说是部署环境的问题,有没有谁也遇到过啊。


那你继续问:怎么正确部署啊。。。 --------------------编程问答-------------------- 我曾经在做过这样的!他们应该会给一个开发文档 dll 放在system文档下!
[DllImport("SMEntry.dll")]文档里面有对方提供的函数!
public static extern ...xi这样写一次!
然后调用即可!


补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,