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

重命名项目后API Controller出现“未找到匹配HTTP资源”问题求助

排查ASP.NET Web API项目重命名后"找不到匹配请求URI的HTTP资源"问题

以下是针对性的排查解决步骤:

  • 统一命名空间
    检查所有控制器类的命名空间,确保从旧名称MyFirstQuestion0513更新为Flora_Assignment1,比如将namespace MyFirstQuestion0513.Controllers替换为namespace Flora_Assignment1.Controllers。同时同步修改项目中其他类(模型、过滤器等)的命名空间,避免框架无法识别控制器。

  • 核对路由配置

    1. 检查控制器类上的[Route]特性,若存在硬编码旧项目名的自定义路由(如[Route("api/MyFirstQuestion0513/Users")]),需替换为新名称[Route("api/Flora_Assignment1/Users")];默认路由[Route("api/[controller]")]无需修改,但要确保控制器名称无拼写错误。
    2. 打开路由配置文件(旧版为WebApiConfig.cs,.NET Core+为Program.cs),确认全局路由模板中没有硬编码旧项目名,比如config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional })这类默认配置无需改动,但如果有自定义全局路由需同步更新。
  • 修正项目属性
    右键项目→属性:

    • 在"应用程序"选项卡中,将程序集名称和默认命名空间全部改为Flora_Assignment1,替换旧的MyFirstQuestion0513。
    • 若为旧版ASP.NET,检查"Web"选项卡的项目URL,确保IIS Express地址中无旧项目名,比如将http://localhost:xxxx/MyFirstQuestion0513改为http://localhost:xxxx/Flora_Assignment1或根路径。
  • 清理缓存与编译文件

    1. 关闭Visual Studio和IIS Express进程。
    2. 删除项目目录下的隐藏文件夹.vs(存储IIS Express旧配置),以及bin、obj文件夹(旧编译输出)。
  • 确认控制器注册(.NET Core/.NET 5+)
    若使用.NET Core及以上版本,在Program.cs中确保控制器注册正确:

    builder.Services.AddControllers();
    // 若需指定程序集扫描,添加以下代码
    builder.Services.AddControllers().AddApplicationPart(System.Reflection.Assembly.GetExecutingAssembly());
    

    避免因程序集扫描范围错误导致控制器未被框架加载。

  • 验证请求URL
    确认发送的请求URI与修改后的路由匹配,比如原来的http://localhost:xxxx/api/MyFirstQuestion0513/Values需对应改为http://localhost:xxxx/api/Values(默认路由场景),或匹配自定义路由的新路径。

  • 重建并重启调试
    执行清理解决方案→重建解决方案,重新启动调试,确保所有编译输出为新项目名称的相关文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 07:18:13