zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。

Oracle文件依赖程序 一个 加载 格式 正确
2023-09-14 09:02:10 时间
        本机环境:Win7 32位,开发工具:vs2008         今天更新webservices的时候,如下图:             报出了下面的错误:                  在服务端打开asmx文件时,错误信息如下: “/”应用程序中的服务器错误。 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依

        本机环境: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”或它的某一个依赖项。试图加载格式不正确的程序。