我不知何故将我的项目带到了 Visual Studio 2013 无法编译它并出现荒谬错误的状态:
'System.Collections.Generic.Dictionary`2' 类型在未引用的程序集中定义。您必须添加对程序集“System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用。
首先,没有这样的程序集,它不存在。其次,Dictionary<TKey, TValue>
是在 中定义的mscorlib.dll
,当然是默认引用的。Resharper(拥有自己的代码分析引擎)报告该解决方案应该可以正常编译。
我不知道这到底是怎么发生的,因为我最近的变化与所谓的错误地方完全无关。该行引用了一些标准的 LINQ 函数(GroupBy
和ToDictionary
),它工作了几个月,没有任何变化。不幸的是,我无法创建任何 MRE:显然,此错误仅出现在我的庞大解决方案的上下文中,并且仅在可能不相关的地方进行了一些特定更改。
这是我尝试过的,但没有奏效:
- 清洁+重建
- 将目标框架从 .NET 4.5 更改为 .NET 4.5.1 或 .NET 4.0
有没有人见过这样的怪癖?