gpt4 book ai didi

c# - 如何修复 ASP.NET 5 中的 CS0433 错误?

转载 作者:太空狗 更新时间:2023-10-30 01:33:50 24 4
gpt4 key购买 nike

导致它在任何地方引用类型的代码行 System.Collections.Generic.Dictionary无论是作为变量类型,还是在 Using 声明中。

这个 Using 声明工作得很好,使我的类比必须编写 System.Collections.Generic.Dictionary<string, object> 更令人厌恶。在我类有 100 个名额。去掉 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 模板的项目中,该项目具有一些引用通用集合类型的模型和 Controller 类。 project.json 是这样设置的:

  "frameworks": {
"dnx451": { }
}

如果你只是让它说,​​就会出现示例问题:

  "frameworks": {
"dotnet": { }
}
  • 导致它的代码行是一个 Using 声明,一种类型别名,在我尝试将 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,它将解决问题。

关于c# - 如何修复 ASP.NET 5 中的 CS0433 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32485198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com