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

Azure部署ASP.NET Core 6应用失败:EF迁移及Facebook认证报错

Azure部署ASP.NET Core 6 HTTP 500错误及后续问题解决

问题梳理

部署ASP.NET Core 6应用到Azure后出现HTTP 500错误,过程中遇到两个关键问题:

  • EF迁移命令执行失败,提示多项目冲突
  • 解决迁移问题后,通过Application Insights发现Facebook认证配置缺失

分步解决

1. 修复EF迁移命令多项目错误

发布时执行dotnet ef dbcontext list --json报错当前工作目录中找到多个项目,请使用--project选项,即使只有Project.DataAccess包含迁移:

  • 排查解决方案根目录,删除重复的.csproject文件(这类冗余文件通常是误操作或VS自动生成导致的)
  • 若删除后仍有问题,直接在发布设置的EF迁移命令中指定项目:
    dotnet ef dbcontext list --project Project.DataAccess --json
    

2. 解决Facebook认证AppId缺失异常

通过Application Insights捕获到Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions.Validate抛出必须提供'AppId'选项(参数'AppId'):

  • 登录Azure门户,进入对应App Service的配置 > 应用程序设置
  • 添加以下两个配置项:
    • 键:Authentication:Facebook:AppId,值为你的Facebook应用ID
    • 键:Authentication:Facebook:AppSecret,值为你的Facebook应用密钥
  • 确认代码中正确读取配置,示例:
    builder.Services.AddAuthentication()
        .AddFacebook(options =>
        {
            options.AppId = builder.Configuration["Authentication:Facebook:AppId"];
            options.AppSecret = builder.Configuration["Authentication:Facebook:AppSecret"];
        });
    
  • 重新发布应用,验证HTTP 500是否消失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:10:14