使用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.01038
V4.0
客户端4.0.0.0
有谁知道这里发生了什么?
答案 0 :(得分:0)
这表明第三方图书馆的目标是4.0。您需要找到更高版本的库,或者在项目属性中将目标框架设置为4.0而不是4.5
答案 1 :(得分:0)
这被证明是一个误导性的错误。该库是针对.NET 4.5.2构建的,但我安装了.NET 4.5.1。 Microsoft在a KB article(KB2971005)中对此进行了解释,但您确实需要知道如何轻松找到该文章的问题。经过大量的搜索后,我偶然发现了它。
解决方法是安装Microsoft .NET Framework 4.5.2开发人员包的更新版本。