【问题标题】:Conflict of the assembly System.Runtime.Serialization between versions and publicyKeyTokens版本与 publicyKeyTokens 之间的程序集 System.Runtime.Serialization 冲突
【发布时间】:2017-10-27 07:07:19
【问题描述】:

我有一个在 Visual Studio 2017 上打开的旧项目。 它开始警告程序集 System.Runtime.Serialization 中的冲突。

这里的问题是程序集版本名称相同但publicyKeyToken不同。

无法解决“System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”和“System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken= 7cec85d7bea7798e,可重定向=是”。任意选择“System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”。

我尝试在我的 web.config 中放置一些运行时重定向组合,但无法正常工作。

【问题讨论】:

  • 同样的问题。就我而言,我在 VS 2017 中使用 Xamarin,并且仅当我在 Android 模拟器中运行应用程序时才会发生这种情况。所以,我需要使用我的物理设备:/

标签: .net assembly-binding-redirect


【解决方案1】:

我在使用VS 2017编译时在几个项目中遇到了同样的问题。VS 2015没有报告任何问题。在向每个带有警告的项目添加对 System.Runtime.Serialization (4.0.0) 的引用后,该警告消失了。

【讨论】:

  • 别忘了将它包含在您的单元测试项目中! (这让我难过了一阵子!)
  • 这很好用,除非添加程序集返回“无法添加对 'mscorlib' 的引用。此组件已被构建系统自动引用。”错误。在这种情况下,我需要打开 .vbprol (.csproj) 文件并通过以下方式手动添加引用:
【解决方案2】:

尝试在包管理器控制台中使用update-package -reinstall 命令。

【讨论】:

  • 谢谢,这解决了我的问题。
猜你喜欢
  • 2011-02-06
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
  • 2013-05-22
相关资源
最近更新 更多