You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Visual Studio 2019创建ASP.NET MVC视图时代码生成器报错如何解决?

解决Visual Studio 2019中ASP.NET MVC视图生成错误:值-1超出范围0,2147483647

我之前也碰到过这个让人头疼的问题,折腾了好一阵才摸清楚几个靠谱的解决方向,分享给你试试:

  • 排查模型类的数值属性
    这个错误大概率和模型里的数值类型配置有关。比如你有没有给非可空的int属性设置了-1的默认值?或者数据库对应字段允许为null,但模型里用了非nullable的int类型?
    举个例子,如果你的模型代码是这样的:

    public int OrderStatus { get; set; } = -1;
    

    可以改成可空类型规避这个问题:

    public int? OrderStatus { get; set; }
    

    或者把默认值调整到0到2147483647的合法范围内。

  • 清理重建项目,清除缓存
    有时候是项目缓存搞的鬼,按这个流程操作试试:

    • 先关闭Visual Studio
    • 删除项目根目录下的binobj文件夹
    • 重新打开项目,右键解决方案选择清理解决方案,接着执行生成解决方案
    • 再尝试重新生成视图
  • 检查EF Core的实体约束配置
    如果你用了Entity Framework Core,看看Fluent API里有没有给数值字段设置不合理的默认值或约束:

    modelBuilder.Entity<YourEntity>()
        .Property(p => p.YourIntField)
        .HasDefaultValue(-1);
    

    把默认值改成合法范围内的数值,或者如果字段允许为null,加上.IsRequired(false)配置。

  • 更新Visual Studio 2019的相关组件
    旧版本的ASP.NET代码生成器可能存在bug,你可以打开Visual Studio的工具->获取工具和功能,检查并安装ASP.NET和Web开发模块的最新更新,之后再尝试生成视图。

  • 手动创建视图(临时替代方案)
    如果上面的方法都没效果,你可以绕开代码生成器手动创建视图:

    • 在对应的Views子文件夹下新建.cshtml文件
    • 手动编写视图代码,比如强类型视图开头加上@model YourProject.Models.YourModel,再自行添加表单、字段展示等内容

内容的提问来源于stack exchange,提问作者Neal

火山引擎 最新活动