我已经创建了一个使用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标准一个,并且库应工作。
几个选项/问题:
- 尝试合并软件包。
- 您是否有任何警告这?
- 检查使用此软件包的Xamarin表单PCL库 - 并匹配他们的版本。它们很有可能不匹配版本。
如果nuget package the s>更高中所需的特定组件的 sell 版本,这也会发生这种情况。
的项目版本。如果您无法使用软件包合并修复它,请尝试将较高版本添加为主要参考在项目中。如果错误提及框架组件,则需要将适当的元包(例如Microsoft.AspNetCore.App
(添加到项目中作为主要参考。