Microsoft.WindowsAzure.Storage和System.Net.Http冲突

时间:2018-11-21 16:20:56

标签: c# .net azure-storage

我刚刚更新了我的应用程序(包括许多项目)中的所有软件包。这些软件包之一是 System.Net.Http 。现在我得到一个错误:

  

标识为'Storage,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null的'Storage'使用'System.Net.Http,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a',其中比参考程序集“ System.Net.Http”具有更高版本,其标识为“ System.Net.Http,版本= 4.1.1.3,文化=中性,PublicKeyToken = b03f5f7f11d50a3a”

我希望可以添加重定向,因此在我的 Storage 项目中,我输入了以下内容:

TEST-2
app.config 中的

,但仍然出现错误。 我想我的问题是:我可以对引用的库使用绑定重定向,还是必须回滚我的 Update-Package 并将版本约束放在 System.Net.Http 上??

2 个答案:

答案 0 :(得分:1)

Steps(用于简化组装)使用版本X,该版本的版本高于引用的组装错误:

打开packages.config并删除System.Net.Http条目。
保存并构建,然后从nuget中读取汇编。
生成并运行。

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

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

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

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

有关更多详细信息,您可以参考此article

答案 1 :(得分:1)

好吧,经过数小时的游戏,在Internet上四处浏览以及此处发布的解决方案,我终于使它生效了。 这是我执行的步骤。

  1. 在以下文件夹中将 System.Net.Http.dll 重命名为 System.Net.Http.dl _ :C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ Microsoft \ Microsoft.NET.Build.Extensions \ net461 \ lib
  2. 对于每个引用 System.Net.Http 的项目,请确保它们使用的是NuGet包,而不是扩展名中的那个包。
  3. 构建您的项目,并浏览每个项目的每个 Refreences ,检查 System.Net.Http dll的版本(右键单击>属性)
  4. 卸载项目并搜索 System.Net.Http ,并确保它们与步骤3中的版本相同(您可以尝试将它们全部设置为4.2.0.0版,但是我遇到了问题与此)

完成此操作后,尝试重建您的项目,它应该生成并且应该运行。 我希望这对其他人有帮助。