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

Mac下VS2019运行.Net Core 3.1 MVC项目报localhost 404错误

问题根因及修复方案

1. 若需运行带视图的MVC项目,需补充MVC相关配置

你当前Startup中的配置仅支持Web API接口,没有包含MVC视图的服务注册、路由规则,直接访问页面就会触发404报错,按如下内容修改即可:

修改Startup.cs的ConfigureServices方法

将services.AddControllers();替换为以下代码:

services.AddControllersWithViews();

修改Startup.cs的端点配置

将原Configure方法中的UseEndpoints代码块替换为:

app.UseEndpoints(endpoints =>
{
    // 配置MVC默认路由
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    endpoints.MapControllers();
});

修改完成后补充HomeController和对应的Index视图,即可正常访问默认首页。


2. 若仅运行Web API项目,按以下规则排查修复

  • 你当前的VendorRegistrationController仅定义了POST类型的接口,路由为POST /api/VendorRegistration,如果直接在浏览器地址栏输入地址访问,浏览器默认发送GET请求,自然返回404,需要用Postman、Apifox等接口调试工具发送POST请求调用,才会正常返回结果。
  • 你现有Post方法中调用的CreatedAtAction("Get", ...)指向了不存在的Get接口,会导致接口调用成功后也抛出异常,需要在控制器中补充对应的Get方法:
[HttpGet("{id}")]
public IActionResult Get(int id)
{
    // 需要先在VendorRegistrationService中补充对应的单条数据查询方法
    var data = vendorRegistrationService.GetById(id);
    return Ok(data);
}

3. 其他通用排查点

  • 打开项目Properties目录下的launchSettings.json文件,确认applicationUrl的端口、launchUrl的默认启动路径是否符合你的预期
  • 确认你访问的地址端口和程序启动后控制台输出的端口一致,Mac设备部分端口可能被系统占用,可更换未被占用的端口后重试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:06:03