gpt4 book ai didi

asp.net-core - 类型或命名空间名称 'DataAnnotations' 在命名空间 'System.ComponentModel' 中不存在

转载 作者:行者123 更新时间:2023-12-02 12:32:28 31 4
gpt4 key购买 nike

当我添加 Nuget 包时 System.ComponentModel.Annotations我收到错误

type or namespace name 'DataAnnotations' does not exist in the namespace 'System.ComponentModel'

发生的情况是,我从书籍示例中打开了一个旧的 ASP.NET Core 1.0 项目,并且 VS17 对其进行了升级。当然,我在 NuGet 依赖项中从 VS17 收到了很多警告。因此,我将项目转换为 Core 2.1 并更新了所有 NuGet 依赖项。

但现在它提示属性。

有什么想法吗?

enter image description here

最佳答案

type or namespace name 'DataAnnotations' does not exist in the namespace 'System.ComponentModel'

首先,您可以注意到有关包System.ComponentModel.Annotations的描述:

enter image description here

我们没有可以使用的直接命名空间System.ComponentModel.Annotations。因此,尽管我们安装了 System.ComponentModel.Annotations Nuget 包,然后使用了 System.ComponentModel.DataAnnotations 命名空间。对于像我这样长期卡在不同命名空间的人来说是澄清。

所以我们不需要第一个命名空间语句。

对于第二个,就像turao8所说,Microsoft.AspNetCore.App包含它自己版本的数据注释,我们不需要用nuget包再次添加它。

我创建了一个测试示例,没有任何其他 nuget 包,它工作正常:

enter image description here

要解决这个问题,可以新建一个.net core 2.1项目,然后将代码复制到新项目中,然后根据需要添加引用,毕竟是旧的.net core 1.02.1 还是有很多区别的。

希望这有帮助。

关于asp.net-core - 类型或命名空间名称 'DataAnnotations' 在命名空间 'System.ComponentModel' 中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52796857/

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