Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;无法加载文件或程序集';Oracle.DataAccess'&引用;Visual Studio 2019中出现错误_C#_Visual Studio_Oracle12c - Fatal编程技术网

C# &引用;无法加载文件或程序集';Oracle.DataAccess'&引用;Visual Studio 2019中出现错误

C# &引用;无法加载文件或程序集';Oracle.DataAccess'&引用;Visual Studio 2019中出现错误,c#,visual-studio,oracle12c,C#,Visual Studio,Oracle12c,我刚刚安装了VS 2019,试图从VS 2019中运行.Net应用程序,并不断得到“无法加载文件或程序集‘Oracle.DataAccess’或其依赖项之一。试图加载格式不正确的程序。” 同样的应用程序在VS 2017中运行良好,我似乎无法指出问题所在。 我检查了2017年和2019年的项目和建筑属性,它们是相同的。我试图注册Oracle数据访问DLL,以确保它们显示在GAC中,即使对DLL的引用被设置为项目的“bin”文件夹,但都没有用 它不应该使用其引用中设置的DLL(bin文件夹中的DLL

我刚刚安装了VS 2019,试图从VS 2019中运行.Net应用程序,并不断得到“无法加载文件或程序集‘Oracle.DataAccess’或其依赖项之一。试图加载格式不正确的程序。”

同样的应用程序在VS 2017中运行良好,我似乎无法指出问题所在。 我检查了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

由于我所有的项目都在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”

你试过这里建议的各种东西吗?是的,我使用OraProvCfg.exe/action:gac/providerpath:E:\oracle\product\12.2.0\client\u 64\ODP.NET\bin\4\oracle.DataAccess.dll和OraProvCfg.exe/action:gac/providerpath:E:\oracle\product\12.2.0\client\u 32\ODP.NET\bin\4\oracle.DataAccess.dli尝试使用GACUTIL重新注册,同样的问题still@NoBullMan,我很高兴听到您的问题已经解决,您可以单击'✔' 将你的答复标记为答复。它还将帮助其他人解决类似问题。