Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 程序集引用解析为与指定路径不同的路径_C#_.net_Windows_Dll - Fatal编程技术网

C# 程序集引用解析为与指定路径不同的路径

C# 程序集引用解析为与指定路径不同的路径,c#,.net,windows,dll,C#,.net,Windows,Dll,我试图在我的c#项目程序集中引用Oracle.DataAccess.dll。在运行项目时,我遇到以下错误: 无法加载文件或程序集“Oracle.DataAccess,Version=2.112.2.50,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100) 我真的很困惑,因为当我右键单击引用并添加程序集时,我导航到项目中包含的文件夹中的dll副本并添

我试图在我的c#项目程序集中引用Oracle.DataAccess.dll。在运行项目时,我遇到以下错误:

无法加载文件或程序集“Oracle.DataAccess,Version=2.112.2.50,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)

我真的很困惑,因为当我右键单击引用并添加程序集时,我导航到项目中包含的文件夹中的dll副本并添加引用。但是,当我查看引用的属性时,它显示了

C:\Program Files\Reference Assembly\Microsoft\Framework.NETFramework\v4.0\Profile\Client\Oracle.DataAccess.dll


当然,里面有一个同名的dll,但它是一个旧版本。为什么此引用没有指向我在添加它时指定的路径,以及如何让它在我指定的位置使用dll?

Visual Studio在引用时可能有点古怪。很多时候,我们必须直接编辑项目文件。直接设置引用的属性并不总是有效的。在项目上单击鼠标右键,选择“编辑项目文件”,然后在其中进行更改。它应该能坚持下去。

VisualStudio在引用方面可能有点不稳定。很多时候,我们必须直接编辑项目文件。直接设置引用的属性并不总是有效的。在项目上单击鼠标右键,选择“编辑项目文件”,然后在其中进行更改。当我们知道特定版本对构建的应用程序不重要时,我们会采取一些步骤来解决类似的问题:

1) 在项目内引用的属性中,确保特定版本属性设置为False

2) 保存项目、在记事本中编辑项目或选择文本编辑器。查找DLL引用并删除所有版本和密钥信息,并确保提示路径指向文件副本。例如:

<Reference Include="Oracle.DataAccess">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Assemblies\Oracle.DataAccess.dll</HintPath>
</Reference>

假的
..\..\Assemblies\Oracle.DataAccess.dll

当我们知道特定版本对构建的应用程序无关紧要时,我们会采取两个步骤来解决类似问题:

1) 在项目内引用的属性中,确保特定版本属性设置为False

2) 保存项目、在记事本中编辑项目或选择文本编辑器。查找DLL引用并删除所有版本和密钥信息,并确保提示路径指向文件副本。例如:

<Reference Include="Oracle.DataAccess">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Assemblies\Oracle.DataAccess.dll</HintPath>
</Reference>

假的
..\..\Assemblies\Oracle.DataAccess.dll

这听起来像是Oracle.DataAccess.dll的版本控制问题,也看看它是如何被GAC或使用的。net 4.0有它自己的独立GAC vs.net 2.0-3.5检查此链接,以及这听起来像是Oracle.DataAccess.dll的版本控制问题。也看看这是如何被GAC或使用的。net 4.0有它自己的独立GAC vs.net 2.0-3.5请查看此链接,我想它不仅仅是VisualStudio。如何解析引用是一个称为.Agreed的过程。然而,我所说的仍然是事实。有时候,设置不起作用,修改项目文件可以解决这个问题。我想这不仅仅是VisualStudio的问题。如何解析引用是一个称为.Agreed的过程。然而,我所说的仍然是事实。有时,设置无法坚持,而更改项目文件可以解决此问题。