C# - .NET CORE-组件的版本高于参考组件



我已经创建了一个使用ado.net技术的.NET核心类库。
二手库: System.Data.SQLClient版本4.4.3 来自Nuget

它在.netcore控制台应用程序中运行正常。但是,当我将其与Xamarin表单PCL一起使用时,会发生以下错误:

严重性代码描述项目文件行抑制状态 错误的CS1705汇编" XXX" XXX XXX,版本= 1.0.0.0,Culture =中性,publicKeyToken = null'use'system.Systems.runtime,版本= 4.2.0.0,culture =中性,publicKeytoken = b03f5f7f7f7f7f7f7f11d50a3a',具有较高的版本比引用的汇编" system.runtime"具有身份'system.runtime,版本= 4.1.2.0,culture =中性,publicKeyToken = b03f5f7f11d50a3a'

我尝试分别更新系统库,但结果是相同的。
如何解决此问题?

pcl项目依赖于选定的API表面(配置文件(。但是,根据Nuget的说法,System.Data.SqlClient不支持任何PCL表面,而仅支持.NET标准和其他各种SDK。将您的共享库更改为.NET标准一个,并且库应工作。

几个选项/问题:

  1. 尝试合并软件包。
  2. 您是否有任何警告这?
  3. 检查使用此软件包的Xamarin表单PCL库 - 并匹配他们的版本。它们很有可能不匹配版本。

如果nuget package the s>更高中所需的特定组件的 sell 版本,这也会发生这种情况。

的项目版本。

如果您无法使用软件包合并修复它,请尝试将较高版本添加为主要参考在项目中。如果错误提及框架组件,则需要将适当的元包(例如Microsoft.AspNetCore.App(添加到项目中作为主要参考。

最新更新