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

未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。 急求答案

本人今天在服务器上部署已经做好的网站系统,但是出现以下错误:
未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。

这个网站项目在我公司自己服务器上配置在IIS一点问题都没有,直接就可以访问,但是放在客户的服务器上之后,就提示PDFLibNet 加载不正确。
声明下:PDFLibNet是一个PDF在线阅读的插件DLL,使用VB写的,我的web网站是用C#写的,按理说放在一起是没有问题的,但是不知道为何,就报了这么个错误, 今天是3月15日,客户今天要验收项目,急求高人相助!!!!

本人联系方式:QQ:446414937 

 
详细错误如下:

“/”应用程序中的服务器错误。未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

程序集加载跟踪: 下列信息有助于确定程序集“PDFLibNet”无法加载的原因。

警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。


堆栈跟踪:

[BadImageFormatException: 未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。]
   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
   System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +416
   System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +166
   System.Reflection.Assembly.Load(String assemblyString) +35
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +190

[ConfigurationErrorsException: 未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11207304
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +388
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +232
   System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +48
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +210
   System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +76
   System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +11196482
   System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +185
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +551

[HttpException (0x80004005): 未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。]
   System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +76
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +1012
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +1025

[HttpException (0x80004005): 未能加载文件或程序集“PDFLibNet”或它的某一个依赖项。试图加载格式不正确的程序。]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11301302
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +88
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4338644
--------------------编程问答-------------------- 將dll反射 --------------------编程问答-------------------- PDFLibNet.dll没有放在你的IIS对应的目录下!要复制过去的!DLL发布会有你这个问题的 --------------------编程问答-------------------- PDFLibNet.dll没有放在你的IIS对应的目录下!要复制过去的!DLL发布会有你这个问题的 --------------------编程问答-------------------- 一,复制一份DLL到你发布的当前目录或指定其子目录
二,在被发布机器中重新编译完整方案。

建议采取第一种办法。 --------------------编程问答-------------------- 缺少dll  放在 bin下面
或者加载引用到项目里面 --------------------编程问答-------------------- http://www.codeproject.com/KB/applications/PDFViewerControl.aspx?msg=3134450 --------------------编程问答-------------------- PDFLibNet或者它依赖的dll没有放到bin目录中。

看看你下载的PDFLibNet,把其中所有的dll都放到bin中试一试。 --------------------编程问答--------------------
引用 7 楼 findcaiyzh 的回复:
PDFLibNet或者它依赖的dll没有放到bin目录中。

看看你下载的PDFLibNet,把其中所有的dll都放到bin中试一试。


我所有的dll都放在bin目录下,不可能没有在bin目录下啊? 这个网站程序在我公司自己服务器上跑一点问题都没有,把同样的程序文件放在客户的服务器上就提示pdfLibNet错误!! 
现在排除dll文件不再bin目录下的问题, 请大家继续探讨 --------------------编程问答--------------------
引用 1 楼 crackdung 的回复:
將dll反射


如何将DLL反射呢??麻烦您提出具体操作方法!谢谢 --------------------编程问答-------------------- 难道这个在那个服务器上没有权限读取到? --------------------编程问答--------------------
引用 5 楼 ly_longyue 的回复:
缺少dll 放在 bin下面
或者加载引用到项目里面


dll本身就在项目中,而且在win2003操作系统的服务器上,和我本地win7操作系统 的IIS里跑没有问题,到了客户服务器上windows8系统上就报 PDFLibNet 错误! --------------------编程问答-------------------- 我这边和楼主同样的问题,我在32位的xp 和win 7上都没问题,但到服务器上安装后就出现了和楼主同样的错误。(服务器是windows server 2003  X64 )
  
  不是权限问题就应该是兼容问题 --------------------编程问答-------------------- 安装一个  vcredist_x86.exe (VS2008 C++) --------------------编程问答-------------------- 把DLL删了重新加载一次 --------------------编程问答-------------------- 应该是64位的问题,请问楼主怎么解决的、??? --------------------编程问答-------------------- 将应用程序 生成为  目标平台:Any CPU;
把iis 应用程序池 --高级设置--启用32位应用程序 :true
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,