如何在ASP.NET 5中修复CS0433错误?
引导它的任何地方的代码行引用类型System.Collections.Generic.Dictionary
无论是作为变量类型,还是在使用声明中。
这个使用声明运行良好,使我的System.Collections.Generic.Dictionary
在我class级的100个地方编写System.Collections.Generic.Dictionary
更不令人厌恶。 取出使用声明并不能解决我的问题,只是将它移动到我的方法参数中使用字典类型的地方。
完整错误文字:
CS0433 The type 'Dictionary' 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模板的项目中出现此错误,该项目具有一些引用generics集合类型的模型和控制器类。 project.json设置如下:
"frameworks": { "dnx451": { } }
如果您只是说它出现样本问题:
"frameworks": { "dotnet": { } }
-
导致它的代码行是一个使用声明,一个类型别名的排序,在我尝试将beta6项目转换为beta7之前一直运行良好。
-
转换继续进行,直到我尝试使用JsonDictionary别名添加这些,然后编译中断。
我搜索过这个错误代码,它在ASP.NET中有着漫长而无意义的历史。
是什么导致这个问题? 我怎么能修复它,因为我不能从我的项目中删除mscorlib,也不能删除System.Collections?
在beta6中,当你创建一个类库项目时,它将按照你用“dotnet”发布的方式设置框架部分,但如果你在beta7中创建一个新的类库项目,它会像这样设置它:
"frameworks": { "dnx451": { }, "dnxcore50": { "dependencies": { "Microsoft.CSharp": "4.0.1-beta-23225", "System.Collections": "4.0.11-beta-23225", "System.Linq": "4.0.1-beta-23225", "System.Runtime": "4.0.21-beta-23225", "System.Threading": "4.0.11-beta-23225" } } }
我相信如果你相应地更新你的项目json它将解决问题。
您需要将其指定为框架依赖项。
"frameworks": { "dnx451": { "frameworkAssemblies": { "System.Collections": "" } } }
- 控制器错误“Microsoft.AspNetCore.Mvc.Rendering.SelectListItem”中的MVC Core SelectList下拉列表
- ASP.NET Core“CreatedAtRoute”失败
- 在生产中实例化ASP.NET Core应用程序
- 在ASP.NET Core应用程序中设置RabbitMQ使用者
- 如何在.NET Core项目中引用.NET Framework项目?
- 如何unit testingViewComponent.Invoke()?
- 如何在ASP.NET Core 2.1中获取客户端IP地址
- 如何从控制台应用程序中的config.json读取值
- 使用RequireHttpsAttribute ASP.NET Core的HTTP错误310 ERR_TOO_MANY_REDIRECTS