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

ASP.NET Core项目发布后新控制器在Electron中返回404无法访问

解决ASP.NET Core发布后Electron调用新控制器404问题

问题描述

ASP.NET Core项目发布后,通过Electron启动后端API并调用时,新添加的控制器返回404 Not Found。但Visual Studio调试时可正常访问该控制器,其他现有控制器也能正常工作。

相关代码

新控制器代码

[HttpGet]
[Route("Backup")]
public IEnumerable<string> Get()
{
  return new string[] { "value1", "value2" };
}

Electron启动API代码

let coreProcess = null;
function startApi() {
    const proc = require('child_process').spawn;
    // run server
    console.log(process.env.NODE_ENV === 'dev');
    console.log(`isDevelopment ${isDevelopment}`);
    console.warn(`dirname: ${__dirname}`);
    const apiPath = path.join(isDevelopment ? __dirname + '../../..' : '..', 'Home-Inventory-Application', 'core', 'Home-Inventory-Core.exe');
    console.warn(`api path: ${apiPath}`);

    coreProcess = proc(apiPath);

    coreProcess.stdout.on('data',
        (data) => {
            writeLog(`stdout: ${data}`);
            if (win == null) {
                createWindow();
            }
        });

    //Kill process when electron exits
    process.on("exit", function () {
            writeLog('exit');
            coreProcess.kill();
        });

    function writeLog(msg) {
        console.log(msg);
    }
}

排查解决建议

  • 确认发布包完整性:检查Electron调用的Home-Inventory-Core.exe所在目录,确认新控制器的编译代码已包含在发布包中。发布ASP.NET Core项目时,确保勾选了所有必要的项目文件,没有遗漏新控制器的.cs文件。
  • 检查路由配置:
    • 确认Startup/Program.cs中已添加app.MapControllers()(或对应版本的路由注册代码),确保控制器路由被正确注册。
    • 检查新控制器的路由模板是否存在冲突,比如可以尝试添加前缀(如[Route("api/Backup")]),避免和现有路由规则冲突。
  • 排查发布环境差异:对比调试和发布环境的配置文件(如appsettings.Development.json vs appsettings.Production.json),查看是否有影响路由注册的配置项,比如路由约束、环境特定的路由规则。
  • 直接验证后端路由:在Electron启动API后,用浏览器直接访问新控制器的接口(例如http://localhost:端口号/Backup),确认后端是否真的未注册该路由,排除前端请求路径错误的可能。
  • 检查控制器类有效性:确保新控制器类继承了ControllerBase或Controller,且没有被错误标记[NonController]特性,导致ASP.NET Core无法识别为控制器。
  • 清理旧发布文件:删除Electron目录下的旧API发布文件,重新发布ASP.NET Core项目到指定路径,避免旧文件覆盖新编译内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:55:17