发布一个调用了第三方dll文件的asp.net网站,

问题描述

我在VS2012编写了一个网站,c#语言开发的,其中调用了C++编译的一个dll文件,已经调试通过了,然后通过vs2012发布这个网站,选择的“文件系统发布方式:”然后在IIS新建网站,然后也发布成功了,然后在使用网站上的计算功能时,就出错误了,“/”应用程序中的服务器错误。试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.BadImageFormatException:试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)源错误:执行当前Web请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[BadImageFormatException:试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)]WebApplication2.demo.test(IntPtrpin,IntPtrpout)+0这句是我调用dll的接口函数、WebApplication2.demo.Button1_Click(Objectsender,EventArgse)+2839System.Web.UI.WebControls.Button.RaisePostBackEvent(StringeventArgument)+155System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+3804请问大神们应该怎么办??

解决方案

解决方案二:
打开IIS,找到网站的应用程序池,点击“高级设置”菜单,将“启用32位应用程序”项设置为true试试看
解决方案三:
理论上,c++写的一个dll,在C#或asp中,添加引用并使用DLLImport扩展接口函数后,即可正常使用。试图加载格式不正确的程序说明并没有成功加载这个dll,除了版本不对之外,很有可能就是dll数字签名/注册没有通过。在VS中调试和在IIS中运行是有区别的:IIS的账户权限远远小于VS(管理员权限)的权限。可以试试1楼的办法,这个设置也是一个很坑爹的地方~
解决方案四:
试了一楼的方法还是不行,请问大神们还有其他方法嘛

时间: 2024-12-24 20:58:55

发布一个调用了第三方dll文件的asp.net网站,的相关文章

java-Java中利用jawin技术调用第三方dll文件,其中 invoke的参数问题 ,高手请进

问题描述 Java中利用jawin技术调用第三方dll文件,其中 invoke的参数问题 ,高手请进 各位大神: dll中的被调用方法如下: long WINAPI AutoOpenComPort(long* Port, unsigned char *ComAdr, unsigned char Baud,long *FrmHandle); 其中: Port:输出变量, ComAdr:输入/输出变量 Baud:输入变量 FrmHandle:输出变量 请问它的 msgBox.invoke(instr

native client能够调用第三方dll文件吗?

问题描述 native client能够调用第三方dll文件吗? 请求大神帮助:我刚学习native client相关知识,请求熟悉相关技术的大神指导下,native client如何调用第三方dll文件.谢谢了! 解决方案 native Client是指Chrome的吗? 不然可以用LoadLibrary等加载dll

c# 4 0-引用第三方dll文件,重新生成报错

问题描述 引用第三方dll文件,重新生成报错 警告 39 预定义类型"System.Runtime.CompilerServices.ExtensionAttribute"是在全局别名的多个程序集中定义的:将使用"c:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.5mscorlib.dll"中的定义 解决方案 解决方式是:"删除 Newtonsoft.Jso

com-C++ 如何调用Delphi的dll文件中的COM方法

问题描述 C++ 如何调用Delphi的dll文件中的COM方法 请问 C++ 如何 调用 Delphi 的dll文件中的COM方法 解决方案 只要是COM就遵守COM的规范,Delphi写出来的COM和其他语言写出来的COM用法是一样的

struts2 0+dll-java web项目调用 vc++的dll文件

问题描述 java web项目调用 vc++的dll文件 我用java 的jni调用vc++写好的dll动态链接库,使用main方法测试没有问题,但是放在web项目的Action中调用就不执行,在static{ System.put.println("load dll..."); System.loadlobrary("ukeyjni"); system.out.println("end load..."); } 上面的调用前后都能打印,在调用的

winform-急,求大神帮帮忙,关于C#调用delphi的dll文件抛错问题

问题描述 急,求大神帮帮忙,关于C#调用delphi的dll文件抛错问题 [DllImport(_fileDll EntryPoint = ""JX102R_Read_Card"" CharSet = CharSet.Ansi CallingConvention = CallingConvention.StdCall)] public static extern int JX102R_Read_Card(ref int ReaderNo ref StringBuil

求大神,本人菜鸟因公司项目需求,使用jnative调用读卡器的dll文件,出错了

问题描述 求大神,本人菜鸟因公司项目需求,使用jnative调用读卡器的dll文件,出错了 public static void main(String[] args) { try { //开启jnative日志 JNative.setLoggingEnabled(true); JNative open = new JNative("ACR110U.dll", "ACR110_Open"); //设置返回类型 open.setRetVal(Type.INT); op

ios-App上传录音文件到 Asp 的网站如何接收,怎么传 ,怎么接收

问题描述 App上传录音文件到 Asp 的网站如何接收,怎么传 ,怎么接收 ios 和 安卓 App上传录音文件到 Asp 的网站如何接收,怎么传 ,怎么接收A 解决方案 上传不就是将你的文件写到指定的文件夹中如果你数据库中有对应的项插入不就可以了: 解决方案二: 主要看怎么设计了:可以进行同步或者异步设计:上传的过程中可以做成多点续传的方式,将文件切割成多个小块,在应用服务器上进行接收:接收和发送的代码在网上很多,你可以搜一下.收到之后你可以根据需要放在FTP,数据库或者干脆在应用服务器上进行

第三方dll文件-Java中利用jawin调用dll文件,invoke的参数问题

问题描述 Java中利用jawin调用dll文件,invoke的参数问题 各位大神: dll中的被调用方法如下: long WINAPI AutoOpenComPort(long* Port, unsigned char *ComAdr, unsigned char Baud,long *FrmHandle); 其中: Port:输出变量, ComAdr:输入/输出变量 Baud:输入变量 FrmHandle:输出变量 请问它的 msgBox.invoke(instructions, stack