System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
2023-09-14 09:02:10 时间
本机环境:Win7 32位,开发工具:vs2008
今天更新webservices的时候,如下图:
报出了下面的错误:
在服务端打开asmx文件时,错误信息如下:
“/”应用程序中的服务器错误。
未能加载文件或程序集“Oracle.DataAccess”或它的某一个依
web未能加载文件或程序集“XXX”或它的某一个依赖项 如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。
本机环境:Win7 32位,开发工具:vs2008
今天更新webservices的时候,如下图:
报出了下面的错误:
在服务端打开asmx文件时,错误信息如下:
“/”应用程序中的服务器错误。 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。 源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 程序集加载跟踪: 下列信息有助于确定程序集“Oracle.DataAccess”无法加载的原因。 警告: 程序集绑定日志记录被关闭。 要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。 注意: 会有一些与程序集绑定失败日志记录关联的性能损失。 要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。 堆栈跟踪: [BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。] System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0 System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark stackMark, Boolean forIntrospection) +127 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark stackMark, Boolean forIntrospection) +142 System.Reflection.Assembly.Load(String assemblyString) +28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46 [ConfigurationErrorsException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178 System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) +163 System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors) +53 System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors) +175 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +86 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +261 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +101 System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +83 System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath) +10 System.Web.UI.WebServiceParser.GetCompiledType(String inputFile, HttpContext context) +43 System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) +180 System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String pathTranslated) +47 System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +193 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean completedSynchronously) +155
版本信息: Microsoft .NET Framework 版本:2.0.50727.5477; ASP.NET 版本:2.0.50727.5483 span /span
原因:
代码中的Oracle.DataAccess版本与本机安装Oracle版本(服务端或者客户端)的版本不一样,例如:这个代码中用到的版本是:10,而我本机安装的是11。虽然客户端与服务的引用中都没有用到Oracle.DataAccess,但在ZJGL_PublicServer这个工程中用到了这个dll,如下图:
解决办法:
在ZJGL_PublicServer这个工程中移除Oracle.DataAccess这个引用,替换成本机版本的dll(在安装目录下搜索Oracle.DataAccess.dll),搞定。
web未能加载文件或程序集“XXX”或它的某一个依赖项 如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。
相关文章
- 管理的实践Oracle数据库文件管理的最佳实践(oracle数据库文件)
- Oracle控制文件重建:解决故障的利器(oracle控制文件重建)
- Oracle数据增量同步实现技术(oracle增量同步)
- 使用Oracle查询文件的实践技术(oracle查询文件)
- 探究Oracle参数文件的存储位置(oracle参数文件位置)
- 查询Oracle中的周几(oracle查询周几)
- Oracle挖掘文件路径的秘密(oracle读取文件路径)
- Oracle关联子查询:如何更高效地进行数据库查询?(oracle关联子查询)
- Oracle 数据库时间戳格式精确到毫秒,浅谈毫秒格式化技巧(oracle毫秒格式)
- Oracle数据库的转储文件备份管理(oracle转储文件)
- 待修复Oracle文件损坏:紧急修复任务(oracle文件损坏)
- 停止Oracle实例:必要的准备步骤(oracle停实例)
- 使用txt文件快速导入Oracle数据库(txt导入oracle)
- 解决Oracle日志文件过大的简单方法(oracle日志太大)
- Oracle BFILE 文件存储及操作(oracle bfile)
- Oracle内存文件数据恢复之道(oracle内存文件恢复)
- 理Oracle 把中国各地把手牢牢握在总代理手中(oracle公司总代)
- C语言快速直连Oracle数据库(c 直连oracle)
- 探索Oracle数据库Case语句用法(case用法oracle)
- 分析Oracle数据库中的dump文件(dump文件oracle)
- 双重授权Oracle的终极保障(dual授权oracle)
- 深入探索DP文件与Oracle的关系(dp 文件 oracle)
- 管理Oracle主机内存管理之路(oracle 主机内存)
- 探索Oracle中虚拟视图的神奇世界(oracle中的视图虚表)
- 探究Oracle日志文件能为我们带来的好处(oracle中的日志作用)
- Oracle数据库文件后缀类型(oracle什么后缀)
- Oracle数据库中二进制文件的存放格式(oracle二进制文件存放格式)
- 文件Oracle二进制文件详解(oracle 二进制)
- Oracle技术依赖POMxml的实现(oracle依赖 pom)
- 聪明的Oracle实现了乒乓效应(oracle乒乓效应)
- Oracle中使用概要文件的技巧(oracle中概要文件)
- Oracle中利用合集掌握查询技巧(oracle中查询合集)
- Oracle中利用UDF实现中文文件写入(oracle中文件写入)
- 在Oracle中执行文件的技巧(oracle中执行文件)
- Oracle数据库中txt文件的使用与管理(oracle txt文件)