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

如何将ASP.NET Core 5 MVC完整项目部署到IIS并解决视图文件缺失问题

ASP.NET Core 5 MVC 发布到IIS缺失Areas等视图资源的解决方法

核心调整步骤

  • 右键Visual Studio中的项目,选择「编辑项目文件」打开.csproj配置文件,在<Project>根节点下添加如下配置,明确指定需要发布的视图资源,同时排除源代码文件:
<ItemGroup>
  <!-- 包含Areas目录下所有Razor视图、视图组件文件 -->
  <Content Include="Areas/**/*.cshtml" CopyToPublishDirectory="PreserveNewest" />
  <!-- 排除Areas目录下所有C#源代码文件,避免发布到服务器 -->
  <Content Remove="Areas/**/*.cs" />
  <Compile Include="Areas/**/*.cs" CopyToPublishDirectory="Never" />
</ItemGroup>
  • 若需要预编译Razor视图(发布后不会出现.cshtml源文件,所有视图编译进程序集,性能更高),可以在.csproj的<PropertyGroup>节点下添加配置:
<RazorCompileOnPublish>true</RazorCompileOnPublish>
  • 检查当前使用的发布配置文件(.pubxml),确认没有添加排除Areas或视图文件的过滤规则,保存所有配置后重新执行发布操作即可。

异常原因说明

发布到Azure正常是因为Azure默认发布配置会自动识别并包含所有ASP.NET Core MVC相关的静态资源和视图文件,而自定义文件系统发布到VPS的配置默认会存在资源过滤规则,导致非显式指定的Areas下的视图资源被忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:24:03