0

使用 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

有谁知道这里发生了什么?

4

2 回答 2

0

这表明第三方库的目标是框架的 4.0。您要么需要找到更高版本的库,要么在项目属性中将目标框架设置为 4.0 而不是 4.5

于 2015-12-14T11:37:47.767 回答
0

事实证明这是一个误导性错误。该库是针对 .NET 4.5.2 构建的,但我安装了 .NET 4.5.1。Microsoft 在知识库文章(KB2971005) 中对此进行了解释,但您确实需要知道问题所在才能轻松找到该文章。经过大量搜索后,我以某种方式偶然发现了它。

解决方法是安装 Microsoft .NET Framework 4.5.2 Developer Pack 的更新版本。

于 2016-01-26T17:24:24.160 回答