You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code调试ASP.NET Core接口时突然退出,错误码0xc0000005如何修复?

问题描述

在VS Code中调试基于.NET 7.0的ASP.NET Core应用时,调用HttpPost接口(Create方法)时调试器突然退出,弹出错误:

程序已退出,代码为-1073741819 (0xc0000005)

接口代码如下,但调试器从未执行到内部逻辑:

[HttpPost]
public async Task<IActionResult> Create(RoleCUViewModel model)
{
    //Do Some thing
}

对应的ViewModel代码:

public class RoleCUViewModel
{
    [Required]
    public string? Name
    {
        get => Name;
        set
        {
            if (value != "Admin")
            {
                Name = value;
            }
            else Name = null;
        }
    }

    public string? Description { get; set; }
}

已移除接口上的Authorize特性测试,问题仍未解决,求修复方案。

问题原因及修复
  • 根本原因:RoleCUViewModel的Name属性存在无限递归。getter里直接返回Name,会不断调用自身的getter,最终引发栈溢出,触发系统级进程崩溃(错误码0xc0000005属于访问违规,栈溢出是常见触发场景),所以调试器还没进入接口逻辑就直接崩溃了。

  • 修复方法:
    给Name属性添加私有字段存储值,替换递归实现:

    public class RoleCUViewModel
    {
        private string? _name;
    
        [Required]
        public string? Name
        {
            get => _name;
            set
            {
                _name = value != "Admin" ? value : null;
            }
        }
    
        public string? Description { get; set; }
    }
    

    修改后重新启动调试,调用接口即可正常进入逻辑。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:23:27