【发布时间】:2021-04-01 14:32:41
【问题描述】:
我刚刚安装了 VS 2019 并尝试从 VS 2019 中运行 .Net 应用程序并不断收到“无法加载文件或程序集 'Oracle.DataAccess' 或其依赖项之一。尝试加载程序格式不正确。”
相同的应用程序在 VS 2017 中运行良好,我似乎无法确定问题所在。 我检查了 VS 2017 和 2019 中的项目和构建属性,它们是相同的。我尝试注册 Oracle 数据访问 DLL 以确保它们显示在 GAC 中,即使对 DLL 的引用设置为项目的“bin”文件夹,也无济于事。
它不应该使用其引用中设置的DLL(bin文件夹中的DLL)吗?是否有可能忽略它并尝试使用 GAC 中的内容?
感谢您提供下一步尝试的任何提示。
这是我在检查不同版本时看到的。
我安装了 32 位和 64 位。
E:\oracle\product\12.2.0\client_64>gacutil /l|findstr Oracle.DataAccess
Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=2.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Policy.2.102.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Policy.2.111.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Policy.2.112.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Oracle.DataAccess, Version=2.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Policy.2.102.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Policy.2.111.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Policy.2.112.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Policy.4.112.Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
Policy.4.112.Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
【问题讨论】:
-
您尝试过这里建议的各种方法吗? stackoverflow.com/questions/18779518/…
-
是的,我使用 OraProvCfg.exe /action:gac /providerpath:E:\oracle\product\12.2.0\client_64\ODP.NET\bin\ 重新注册了 32 位和 64 位客户端4\Oracle.DataAccess.dll 和 OraProvCfg.exe /action:gac /providerpath:E:\oracle\product\12.2.0\client_32\ODP.NET\bin\4\Oracle.DataAccess.dll
-
我尝试使用 GACUTIL 重新注册,仍然存在同样的问题
-
@NoBullMan,很高兴听到您的问题已经解决,您可以点击“✔”将您的回复标记为答案。它还将帮助其他人解决类似的问题。
标签: c# visual-studio oracle12c