这段代码中出现了错误,错误的原因是涉及到类型 System.Collections.Generic.Dictionary
的引用,无论是作为变量类型还是在Using声明中。
这个Using声明之前能够正常工作,并且简化了我的类,避免了在100个地方写上 System.Collections.Generic.Dictionary<string, object>
。不加Using声明解决不了问题,只会把问题转移至使用字典类型的方法参数处。
完整的错误文本:
CS0433 The type 'Dictionary<TKey, TValue>' exists in both
'System.Collections, Version=4.0.10.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'
and
'mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' ProjectName.DNX
这个错误发生在使用 DNX 1.0.0-beta7 的基于 ASP.NET 5 MVC 6 模板的项目中,这些项目包含一些引用了泛型集合类型的 Model 和 Controller 类。项目的 project.json 设置如下:
"frameworks": {
"dnx451": { }
}
如果您只是让它说:“The sample problem occurs”,那么就会出现样例问题。
"frameworks": {
"dotnet": { }
}
导致这个问题的代码行是一个Using声明,它类似于类型别名,此前一直正常工作,但当我尝试将beta6项目转换为beta7时就出现了问题。
转换进行到添加这些使用JsonDictionary别名时,编译就会中断。
我已经搜索了这个错误代码,它在ASP.NET中有着漫长而不光彩的历史。
这个问题是由什么引起的?我该如何解决它,因为我不能从我的项目中删除mscorlib,也不能删除System.Collections?
System.Collections.dll
的引用? - Dai