获取TypeInitializationException Oracle.DataAccess

时间:2018-04-06 07:25:51

标签: c# oracle

我有Windows 10机器。我正在运行一个引用Oracle.DataAccess.dll的c#项目。我已经安装了 ODAC112012_32Bit 。有一个dll NexFen.FirmLoad可以访问Oracle dll。当我运行项目时,我得到以下错误:

  

System.TypeInitializationException:类型初始值设定项   'NexGen.FirmLoad.AppUtils'引发了一个例外。 --->   System.IO.FileLoadException:无法加载文件或程序集   'Oracle.DataAccess,Version = 4.112.3.0,Culture = neutral,   PublicKeyToken = 89b483f429c47342'或其依赖项之一。该   找到程序集的清单定义与程序集不匹配   参考。 (HRESULT异常:0x80131040)--->   System.IO.FileLoadException:无法加载文件或程序集   'Oracle.DataAccess,Version = 4.112.1.2,Culture = neutral,   PublicKeyToken = 89b483f429c47342'或其依赖项之一。该   找到程序集的清单定义与程序集不匹配   参考。 (来自HRESULT的异常:0x80131040)---内心的结束   异常堆栈跟踪---在NexGen.FirmLoad.AppUtils..cctor()中   ---内部异常堆栈跟踪结束---在NexGen.FirmLoad.LoadFirmware.d__0.MoveNext()

1 个答案:

答案 0 :(得分:0)

检查您的项目是否满足以下所有条件:

  • 您已安装Oracle客户端(例如Oracle Instant Client)
  • Oracle.DataAccess.dll,Oracle客户端和应用程序的编译目标全部具有相同的架构(即32位与64位)
  • Oracle.DataAccess.dll版本与Oracle客户端版本相同(即使是次要版本也必须匹配)。您的错误消息表明版本为4.112.3.04.112.1.2,可能是您的问题。检查GAC和策略中的已安装版本。