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

如何在单个Azure App Service用虚拟目录托管两个.NET Core项目

单Azure App Service托管.NET 5 MVC与API双项目可行方案

无需拆分两个独立App Service或购买额外App Service计划,单Azure App Service通过虚拟应用配置完全可以正常托管两个独立.NET Core项目,你之前遇到的报错均为配置步骤错误导致,和平台本身的能力限制无关。

之前操作的错误点说明

  • 503.35 ANCM Multiple In-Process Applications in same Process:ANCM V2的InProcess托管模式要求单IIS工作进程内仅能运行一个.NET Core应用,你第一步仅创建了虚拟目录、未将其标记为独立应用,两个项目被默认放在同一个工作进程内加载,直接触发该报错。
  • 502.5 ANCM Out-Of-Process Startup Failure:你发布后手动修改web.config的操作很容易漏配processPath、arguments参数,且子应用未配置路径基址,会导致路由、静态资源路径全部异常,被ANCM判定为启动失败。
  • 503 Service unavailable:AspNetCoreModule是ANCM V1版本,仅兼容.NET Core 2.2及更早版本,.NET 5完全不支持该模块,手动替换模块名必然导致服务不可用。

正确配置步骤

1. 门户端虚拟应用配置

进入App Service的Configuration > Path Mappings页面,删除之前创建的错误虚拟目录,按以下规则新建条目:

  • 根应用(MVC项目):路径填/,物理路径填site/wwwroot/mvc,勾选条目旁的Application复选框,将其标记为独立应用
  • 子应用(API项目):路径填/api,物理路径填site/wwwroot/api,同样勾选Application复选框标记为独立应用

两个应用标记为独立Application后,Azure App Service会自动做进程隔离,不会出现InProcess模式下的多应用加载冲突。

2. 项目侧配置修正

所有配置直接在项目代码中修改,不要发布后通过Kudu手动改web.config:

  • 两个项目统一配置OutOfProcess托管模型,在各自.csproj文件的<PropertyGroup>节点下添加如下配置:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
  • 部署到/api路径的API项目,必须在启动配置中指定路径基址,否则路由、鉴权、静态资源路径会全部匹配错误。在API项目的Startup.Configure方法中,将如下代码放在所有中间件注册的最前面(位于app.UseRouting()、app.UseStaticFiles()等逻辑之前):
app.UsePathBase("/api");
  • 两个项目共享静态文件、实体类的需求无需特殊处理:实体类直接通过项目引用共用即可;静态文件不要在两个项目目录中存多份,统一放在site/wwwroot/shared目录下,两个项目的静态文件中间件都将文件提供者指向该共享目录即可。
  • 原有发布配置无需调整:保持目标框架为net5.0、部署模式为Framework Dependent、目标运行时为portable,App Service的x64 Windows运行时配置保持不变。

3. 发布与验证

  • 分别将两个项目发布到之前配置的对应物理路径:MVC项目发布到site/wwwroot/mvc,API项目发布到site/wwwroot/api,不要混合两个项目的发布文件。
  • 发布时不要修改web.config生成规则,保持modules="AspNetCoreModuleV2"的默认配置即可,不要替换为旧版ANCM模块。
  • 如果启动后仍有异常,直接通过Kudu查看/LogFiles/EventLog.xml和对应应用目录下的stdout日志定位问题,这类OutOfProcess启动错误通常是发布漏文件、appsettings配置缺失、路径权限问题导致,和双项目托管架构无关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:45:47