Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/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#_Visual Studio 2013_Console Application_Odp.net - Fatal编程技术网

C# 编译时发出冲突警告

C# 编译时发出冲突警告,c#,visual-studio-2013,console-application,odp.net,C#,Visual Studio 2013,Console Application,Odp.net,当我编译时,我得到了警告。我通过Nuget添加了最新的ODP.Net,并在我的解决方案中启用了Nuget还原。当我在网上搜索时,一些人建议从machine.config中删除这些部分。我做了,但没有解决问题。任何帮助都将不胜感激。我知道这是一个警告。但我只是想知道问题出在哪里 “Oracle.ManagedDataAccess,版本=4.121.1.0,区域性=中性,PublicKeyToken=89b483f429c47342”与“Oracle.ManagedDataAccess,版本=4.1

当我编译时,我得到了警告。我通过Nuget添加了最新的ODP.Net,并在我的解决方案中启用了Nuget还原。当我在网上搜索时,一些人建议从machine.config中删除这些部分。我做了,但没有解决问题。任何帮助都将不胜感激。我知道这是一个警告。但我只是想知道问题出在哪里

“Oracle.ManagedDataAccess,版本=4.121.1.0,区域性=中性,PublicKeyToken=89b483f429c47342”与“Oracle.ManagedDataAccess,版本=4.121.2.0,区域性=中性,PublicKeyToken=89b483f429c47342”之间存在冲突。 选择“Oracle.ManagedDataAccess,版本=4.121.1.0,区域性=中性,PublicKeyToken=89b483f429c47342”是因为它是主版本,而未选择“Oracle.ManagedDataAccess,版本=4.121.2.0,区域性=中性,PublicKeyToken=89b483f429c47342”。 依赖于“Oracle.ManagedDataAccess,Version=4.121.1.0,Culture=neutral,PublicKeyToken=89b483f429c47342”[\packages\odp.net.managed.121.1.2\lib\net40\Oracle.ManagedDataAccess.dll]的引用。 \软件包\odp.net.managed.121.1.2\lib\net40\Oracle.ManagedDataAccess.dll 项目文件项包括导致引用“\packages\odp.net.managed.121.1.2\lib\net40\Oracle.ManagedDataAccess.dll”的项目文件项。 Oracle.ManagedDataAccess,版本=4.121.1.0,区域性=中性,PublicKeyToken=89b483f429c47342,processorArchitecture=MSIL 依赖于“Oracle.ManagedDataAccess,版本=4.121.2.0,区域性=中性,PublicKeyToken=89b483f429c47342”[c:\Oracle\product\12.1.0\OraClient12\u home1\ODP.NET\managed\common\Oracle.ManagedDataAccess.dll]的引用。 Common.dll 导致引用“Common.dll”的项目文件项包括。 普通的
C:\Program Files(x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,3):警告MSB3277:在同一依赖程序集的不同版本之间发现无法解决的冲突。当“日志详细性”设置为“详细”时,这些引用冲突将列在生成日志中。

您将其作为nuget软件包安装,但它也存在于c:\oracle\product\12.1.0\oraclient12\u home1\odp.net\managed\common

所以可能发生的是这样。您最初引用的是安装在磁盘上的ODP.Net(可能是与oracle一起安装的)。然后使用nuget包升级。这意味着它将在本地项目的bin文件夹中,不再依赖于独立安装

因为您已经在c:上引用了该dll。。。Nuget没有更新引用


要修复此问题,请删除项目引用中对ODP.Net的所有引用,卸载nuget软件包,删除软件包文件夹,然后重新安装oracle软件包,并在其中选择正确的引用。

My bad。我指的是ODP.Net的旧版本,在我的web.config中使用了下面的标记。如您所见,新版本设置为4.121.2.0,我使用的版本是4.121.1.0

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <publisherPolicy apply="no"/>
        <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral"/>
        <bindingRedirect oldVersion="4.121.0.0 - 4.65535.65535.65535" newVersion="4.121.2.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>