[英]C# - .net core - Assembly which has a higher version than referenced assembly
我创建了一个使用 ADO.net 技术的 .net 核心类库。
使用的库:来自 nuget 的System.Data.SqlClient 版本 4.4.3
它在 .netcore 控制台应用程序中工作正常。 但是,当我将它与 Xamarin Forms PCL 一起使用时,会出现以下错误:
严重性代码描述项目文件行抑制状态错误 CS1705 程序集“xxx”,身份为“xxx,版本=1.0.0.0,文化=中性,PublicKeyToken=null”使用“System.Runtime,版本=4.2.0.0,Culture=neutral,PublicKeyToken” =b03f5f7f11d50a3a' 其版本高于引用的程序集 'System.Runtime',标识为 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
我试图单独更新 System.Runtime 库,但结果是一样的。
如何解决这个问题?
几个选项/问题:
PCL 项目依赖于选定的 API 表面(配置文件)。 然而,根据 NuGet 的说法, System.Data.SqlClient
不支持任何 PCL 表面,而仅支持 .NET Standard 和各种其他 SDK。 将您的共享库更改为 .NET Standard 库,该库应该可以正常工作。
如果充当主要引用的 NuGet 包引入了特定程序集的较低版本,而这些程序集在较高版本中被引用的项目需要,则也可能发生这种情况。
如果您无法通过包合并修复它,请尝试添加更高版本作为项目的主要参考。 如果错误提到框架程序集,您需要将适当的元包(例如Microsoft.AspNetCore.App
)添加到项目中作为主要参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.