程序集使用版本X,其版本高于引用的程序集错误

时间:2018-04-19 20:44:52

标签: c# asp.net-core asp.net-core-2.0 conflicting-libraries

从ASP.NET Core 2.0升级到2.1-preview2后,出现以下错误:

Error   CS1705  Assembly 'System.Data.SqlClient' with identity 'System.Data.SqlClient, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' uses 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime' with identity 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

当我四处寻找类似的错误时,我看到很多关于csproj或json文件中引用的版本的讨论(取决于讨论的年龄)。但是在.NET Core中只有一个引用Microsoft.AspNetCore.App。所以,我没有办法操纵对System.Data.SqlClientSystem.Runtime的引用

另一个观察结果是,虽然大多数错误引用了像connection.Open()这样的实际代码,但有两个对不存在的文件CSC第1行的引用。

更新:如果我创建一个新项目并在那里复制有问题的代码,我会收到任何错误。所以,显然不匹配版本的引用是在项目的某个地方...但我无法弄清楚在哪里!

1 个答案:

答案 0 :(得分:7)

有同样的问题。通过在 .csproj 文件中找到 RuntimeFrameworkVersion 标签并将其值更改为 2.1 来解决。