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

从Visual Studio发布ASP.NET网站后遇403禁止错误,求排查方案

问题排查与解决方案

核心原因分析

  • 服务器不支持ASP.NET Razor页面解析:直接上传.cshtml源文件到普通FTP服务器,这类服务器默认仅能处理静态文件(如.html/.css/.js),无法解析需要ASP.NET运行时处理的.cshtml文件(包含Razor语法、后端逻辑),这是导致「禁止访问」或页面异常的主要原因。
  • 默认页面配置未同步到服务器:本地VS2022中设置Home.cshtml为启动页,但服务器端未同步配置该文件为默认文档,且服务器本身不识别.cshtml作为可执行的默认页类型。
  • 部署流程错误:通过VS Code直接上传项目源文件,而非使用Visual Studio的发布功能生成编译后的部署包,ASP.NET项目需要编译后将部署文件(而非源文件)上传到服务器,直接传.cshtml源文件不符合部署规范。

正确部署步骤

  1. 使用Visual Studio生成部署包
    在VS2022中右键项目 → 选择「发布」,按照向导选择文件夹发布,生成完整的部署包(包含编译后的.dll、wwwroot、web.config等文件,而非.cshtml源文件)。
  2. 确认服务器ASP.NET环境支持
    联系服务器提供商,确认主机支持对应版本的ASP.NET(如ASP.NET Core或ASP.NET Framework),并已配置好运行环境。
  3. 上传部署包到服务器根目录
    将发布生成的所有文件(非项目源文件)通过FTP上传到服务器指定的网站根目录(确认是否为public.html文件夹)。
  4. 配置服务器默认启动项
    • 若为ASP.NET Framework:在服务器网站配置中添加Home.cshtml到默认文档列表,或在web.config中配置默认文档节点。
    • 若为ASP.NET Core:在Program.cs中通过app.MapRazorPages();配置路由,并设置默认页路由(如@page ""标记在Home.cshtml顶部)。

扩展名修改的问题说明

修改.cshtml为.html会完全丢失Razor语法的解析能力,Shared文件夹中的布局页依赖Razor的布局引用逻辑,自然无法正常工作,这确实不是合理解决方案,只有通过标准的ASP.NET部署流程才能彻底解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 02:06:01