部署ABP IO项目至Azure Web Apps时遭遇500.35 HTTP错误求助
ABP IO部署至虚拟目录时500.35错误的分步修复方案
给虚拟目录分配独立的IIS应用池
打开IIS管理器,找到对应虚拟目录的应用池,给它单独分配专属应用池,不要和其他站点/虚拟目录共用。同时确认应用池的托管管道模式为集成,.NET CLR版本和项目使用的.NET版本匹配(比如项目基于.NET 8就选v8.0)。修改项目的托管模式与路径配置
- 打开项目根目录的
web.config,找到<aspNetCore>节点,将hostingModel设置为OutOfProcess,避免进程内托管引发的冲突,修改后节点示例:<aspNetCore processPath="dotnet" arguments=".\你的ABP项目.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" /> - 打开
Program.cs,在UseRouting中间件前添加路径基准配置,替换为你的虚拟目录名称:var app = builder.Build(); app.UsePathBase("/你的虚拟目录名"); app.UseRouting(); // 其他原有中间件代码保持不变
- 打开项目根目录的
清理并重新部署项目
本地执行dotnet clean清空旧编译文件,再运行dotnet publish -c Release生成最新发布包。将发布包文件全部覆盖到IIS虚拟目录的物理路径,删除之前的旧文件避免残留冲突。最后重启对应的应用池和站点。检查ASP.NET Core模块(ANCM)状态
确保服务器安装了对应.NET版本的ASP.NET Core托管捆绑包,若版本过旧,下载最新版更新。同时在IIS的模块列表中确认AspNetCoreModuleV2处于启用状态。开启日志排查深层问题
如果以上步骤无效,修改web.config中的stdoutLogEnabled="true",设置好可写的日志保存路径。触发错误后查看生成的日志文件,里面的详细报错栈能帮你定位具体问题。
内容的提问来源于stack exchange,提问作者Sathiya R
相关产品推荐
相关产品推荐

