引用的Nuget包在查找系统类型时出错
本文关键字:系统 类型 出错 查找 Nuget 引用 | 更新日期: 2023-09-27 18:26:51
在使用NuGet向项目添加第三方库后,我出现了几个奇怪的错误。该项目的目标是.NET 4.5.2。我收到的错误抱怨标准系统类型的版本不正确例如
CS0012:类型"System.Collections.Generic.IEnumerable"1"是在未引用的程序集中定义的。必须添加对程序集"System.Runtime,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"的引用
我已经清理了项目文件夹,删除了bin文件夹,重新安装了NuGet包,并重新阅读了引用,但没有用。
图书馆是Remotion.Linq
根据注册表,以下.NET版本安装在机器上
v2.0.50727 2.0.50727.4927 SP2
v3.0 3.0.30729.4926 SP2
v3.5 3.5.30729.4926 SP1
v4
客户4.6.01038完整4.6.01038v4.0
客户端4.0.0.0
有人知道这里发生了什么吗?
这表明第三方库的目标是框架的4.0。您需要找到该库的更高版本,或者在项目属性中将目标框架设置为4.0,而不是4.5
这是一个误导性错误。该库是根据.NET 4.5.2构建的,但我安装了.NET 4.5.1。微软在一篇知识库文章(KB2971005)中对此进行了解释,但你确实需要知道问题所在,才能轻松找到这篇文章。经过一番搜寻,我不知怎么偶然发现了它。
解决方案是安装Microsoft.NET Framework 4.5.2开发人员包的更新版本。