Visual Studio 2019发布MVC5项目时CSHTML文件未成功上传至Web服务器问题
解决方案
你之前添加的<RazorCompileOnBuild>等三个配置是ASP.NET Core项目专属属性,对基于.NET Framework的MVC5项目无效,所以不会起作用。可按以下步骤排查解决:
- 检查.csproj全局排除规则:搜索整个工程文件,确认是否存在
<Exclude>节点匹配Views\Shared\_MainMenuPartial.cshtml,或是通配符规则误排除了下划线开头的分部视图,很多旧项目升级后会残留VS2013时期的发布过滤规则,找到对应规则后删除即可。 - 检查发布配置文件规则:打开你当前使用的*.pubxml发布配置文件,查找是否有
<ExcludeFilesFromDeployment>或<ExcludeFoldersFromDeployment>节点误过滤了该文件,比如部分旧配置会设置排除所有未显式注册的Views目录下的cshtml文件,删除对应过滤项即可。 - 显式配置文件发布规则:直接在.csproj文件中添加该文件的发布规则,覆盖默认逻辑:
<ItemGroup> <Content Include="Views\Shared\_MainMenuPartial.cshtml"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> </ItemGroup>
- 清理缓存后重新发布:删除项目本地的
bin、obj目录,重启Visual Studio后重新执行发布操作,旧版本残留的编译缓存会导致发布清单不更新,清理后即可重新生成正确的发布文件列表。
内容的提问来源于stack exchange,提问作者Captain_Planet
相关产品推荐
相关产品推荐

