代码之家  ›  专栏  ›  技术社区  ›  r3plica

Microsoft.WindowsAzure.Storage和System.NET.HTTP冲突

  •  0
  • r3plica  · 技术社区  · 6 年前

    我刚刚更新了我的应用程序(由许多项目组成)中的所有包。其中一个包裹是 系统.NET.HTTP . 现在我得到一个错误:

    'storage'with identity'存储,version=1.0.0.0,culture=neutral,publickeytoken=null'使用'system.net.http,version=4.2.0.0,culture=neutral,publickeytoken=b03f5f7f11d50a3a',其版本高于引用的程序集'system.net.http'with identity'system.net.http,version=4.1.1.3,culture=neutral,publickeytoken=b03f5f7f11d50a3a'

    我希望我可以添加一个重定向,所以 保管部 项目,我说:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    应用程序配置 但是我还是得到了错误。 我想我的问题是:我可以为引用的库使用绑定重定向,还是必须回滚 更新包 并将版本约束置于 系统.NET.HTTP ??

    2 回复  |  直到 6 年前
        1
  •  1
  •   Joey Cai    6 年前

    Steps 对于Soloving程序集,使用的版本X的版本高于引用的assemblu错误:

    打开packages.config并删除system.net.http条目。
    保存并构建,然后从nuget读取assembly。
    建立和运行。

    在Visual Studio中编译面向.NET Framework 4.5.1及更高版本的应用程序时, 可以自动添加绑定重定向 到应用程序配置文件以覆盖程序集统一。

    在Visual Studio中,选择项目 Solution Explorer ,然后选择 Open Folder in File Explorer 从快捷菜单。在文件资源管理器中,找到项目(.csproj或.vbproj)文件并在记事本中打开它。

    将以下元素添加到第一个配置属性组(在标记下):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    有关详细信息,请参阅 article .

        2
  •  1
  •   r3plica    6 年前

    好吧,玩了几个小时,在互联网上四处寻找并发布了解决方案,我终于把这个应用到了工作中。 这是我做的步骤。

    1. 重命名 system.net.http.dll文件 系统.net.http.dl_ 在此文件夹中:C:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\msbuild\Microsoft\Microsoft.NET.build.extensions\net461\lib
    2. 对于引用的每个项目 系统.NET.HTTP ,确保他们使用的是nuget包,而不是扩展包中的包。
    3. 构建您的项目并查看 回忆 对于每个项目,请检查 系统.net.http dll(右键单击>属性)
    4. 卸载项目并搜索 系统.NET.HTTP 并确保它们与步骤3中的版本相同(您可以尝试将它们全部设置为版本4.2.0.0,但我对此有问题)

    完成后,尝试重新构建项目,它应该构建并运行。 我希望这能帮助别人。