【问题标题】:"Could not load file or assembly 'Oracle.DataAccess'" Error in Visual Studio 2019Visual Studio 2019 中的“无法加载文件或程序集‘Oracle.DataAccess’”错误
【发布时间】: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


【解决方案1】:

由于我所有的项目都在 VS 2017 中工作并在 VS 2019 中停止工作,我认为这可能与 Oracle Data Access 版本无关,否则它也不会在 VS 2017 中工作。

解决方案是启用 64 位版本的 IIS express。一旦我这样做了,一切都很好。

在 Visual Studio 中,转到:

Tools
Options
Project and Solutions
Web Projects
Check the option: “Use the 64 bit version of IIS Express for web sites and projects”

【讨论】:

    猜你喜欢
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2012-01-29
    • 1970-01-01
    • 2017-02-01
    • 2014-03-12
    • 1970-01-01
    相关资源
    最近更新 更多