发现无法解析错误的同一依赖程序集的不同版本之间发生冲突

时间:2017-04-23 08:36:36

标签: visual-studio xamarin json.net

发现无法解析的相同从属程序集的不同版本之间发生冲突。当日志详细程度设置为详细信息时,这些引用冲突会在构建日志中列出。

我将 Newtonsoft.Json 导入我的App.Core(便携式)项目后发生了。

查看输出后:

" Microsoft.CSharp,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"之间存在冲突。和" Microsoft.CSharp,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"。 (TASKID:90) 2 - ; " Microsoft.CSharp,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"之所以被选中,是因为它是主要的,并且" Microsoft.CSharp,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"不是。 (TASKID:90)

我现在需要做什么?

8 个答案:

答案 0 :(得分:7)

我通过将我的Newtonsoft.Json版本降级到8.0.3来解决了这个问题,这是最新版本,在构建时没有导致此错误。我不确定为什么这是修复。

答案 1 :(得分:7)

我通过更新Newtonsoft.Json包修复了它。

答案 2 :(得分:1)

Newtonsoft.Json依赖于比项目引用的更新版本的Microsoft.CSharp程序集。您可以删除对旧库的引用并添加较新的库。较新的可能在您的包目录中,您的解决方案,或者您可能能够获得NuGet包。就我而言,唯一依赖于旧版本CSharp库的引用本身就是如此,所以这样做没有任何害处。

答案 3 :(得分:1)

我能够通过将Microsoft.CSharp NuGet包添加到我的项目来解决这个问题。以前我只是在项目引用下引用了Microsoft.CSharp程序集,但我没有使用NuGet来引入它。使用NuGet后,我的VSTS构建服务器上的消息就消失了。

答案 4 :(得分:1)

我的 Xamarin.Forms 项目(仅提供Android解决方案)遇到了这个问题。

修复很容易:直接将最新的Newtonsoft.Json链接到我的Android项目和共享库。

当我将一些依赖于Newtonsoft.Json旧版本的NuGet软件包与另一个不兼容的C#版本链接时,就会出现警告。

答案 5 :(得分:0)

这个问题是Newtonsoft.Json NuGet,在我发布警告之后 去吧。

可能是Windows 10的插件问题。

答案 6 :(得分:0)

回答这个问题可能有点晚了,但是发生这种情况的原因是,某些版本的NuGet客户端存在一个已知问题,当它们引用了这些构建包时,就会在Xamarin.iOS和Xamarin.Android项目中导致构建错误。错误消息将显示类似于

  

警告MSB3277:发现无法解决的相同从属程序集的不同版本之间存在冲突。将日志详细程度设置为“详细”时,这些参考冲突会在构建日志中列出。

要解决此问题,请从Xamarin.iOS和Xamarin.Android平台特定的项目中删除以下引用-离开程序包,只需从“引用”文件夹中删除引用即可。您应该能够在那时进行构建。

  • 系统运行时

  • System.IO

  • System.Threading.Tasks

有关此错误的更多信息,请参见此MSDN blog post

答案 7 :(得分:0)

我通过从我的 Android 特定 csproj 文件中删除 Microsoft.CSharp 引用来修复此警告。 Microsoft.CSharp 没有出现在我在 Visual Studio 解决方案资源管理器中的项目的 Android 特定包中,但对 CSharp 的引用在 Android .csproj 文件中。具体来说,我从我的 Android csproj 文件中删除了这一行:

composer install --ignore-platform-reqs

在错误(和修复)发生时,我的环境如下:

  • Visual Studio Community 2019 for Mac(在 Big Sur 11.5.1 中运行)
  • 为 iOS 和 Android 构建 Xamarin PCL 项目
  • Xamarin.Forms 5.0.0.2012 版
  • Newtownsoft.Json 版本 13.0.1