【问题标题】:Conflict warning while compiling编译时冲突警告
【发布时间】:2016-01-05 11:06:18
【问题描述】:

我在编译时收到以下警告。我通过 Nuget 添加了最新的 ODP.Net,并在我的解决方案中启用了 Nuget Restore。当我在网上搜索时,有人建议从 machine.config 中删除这些部分。我做了但没有解决问题。任何帮助表示赞赏。我知道这是一个警告。但只是想知道问题出在哪里。

“Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”和“Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342”之间存在冲突。 选择“Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”是因为它是主要的,而“Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, 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] 的引用。 \packages\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,处理器架构=MSIL 依赖于“Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342”的引用 [c:\oracle\product\12.1.0\OraClient12_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:发现同一依赖程序集的不同版本之间存在无法解决的冲突。当日志详细程度设置为详细时,这些引用冲突会列在构建日志中。

【问题讨论】:

    标签: c# visual-studio-2013 console-application odp.net


    【解决方案1】:

    您将它安装为 nuget 包,但它也存在于 c:\oracle\product\12.1.0\oraclient12_home1\odp.net\managed\common..

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

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

    要修复,请删除项目参考中的所有 ODP.Net 参考,卸载 nuget 包,删除您的包文件夹,然后重新安装 oracle 包,然后它应该会选择正确的参考。

    【讨论】:

      【解决方案2】:

      我的错。我指的是旧版本的 ODP.Net,并且在我的 web.config 中使用了以下标记。如您所见,newVersion 设置为 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>
      

      【讨论】:

        猜你喜欢
        • 2011-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-20
        • 2020-10-25
        相关资源
        最近更新 更多