如何在Azure上发布包含MVC、API项目及类库的多项目解决方案
Azure双项目发布故障解决指南
核心故障原因
两个项目发布时出现站点冲突、404的核心诱因是发布路径或App Service资源配置错误,后发布的项目要么覆盖了原有MVC站点的运行文件/路由规则,要么API本身的运行配置不满足启动要求。
分场景解决方案
场景1:需共用MVC域名,API用路径后缀访问
- 进入Azure门户,找到已部署MVC的App Service资源,依次进入配置 > 路径映射面板
- 新增虚拟应用条目:
- 虚拟路径:自定义API访问后缀,例如
/api - 物理路径:填写
site\api(与MVC默认的site\wwwroot路径隔离,避免文件覆盖) - 勾选「应用程序」选项后保存配置
- 虚拟路径:自定义API访问后缀,例如
- Visual Studio中单独打开API项目的发布配置,将发布目标路径修改为刚才配置的
site\api,重新发布即可。此时API访问地址为[MVC域名].azurewebsites.net/api,不会和MVC根路由冲突。
不要直接在发布时手动给URL加后缀,未配置虚拟路径的情况下Azure不会识别该路径的应用启动规则
场景2:API使用独立域名访问
- 单独为API创建全新的App Service资源,禁止复用MVC的App Service实例
- 分别为两个项目创建独立的发布配置文件,禁止混用同一套publish profile,发布前确认目标资源对应各自的App Service
- 核对两个App Service的运行时配置:.NET版本、运行时架构(32/64位)、托管管道模式需和本地开发环境保持一致
通用排查项
- 检查API项目的跨域配置,需显式将MVC的域名加入允许列表,避免部署后跨域拦截导致调用失败
- 进入App Service的Kudu高级工具,检查发布后的站点文件是否完整,查看启动日志定位具体报错
- 核对两个项目的数据库连接字符串配置,确认数据库服务的访问白名单已放开对应App Service的出站IP
内容的提问来源于stack exchange,提问作者thesystem
相关产品推荐
相关产品推荐

