Netcore 3.1发布时,如何发布Views文件夹

在Netcore 3.1发布时遇到Views文件夹不包含特定布局页面的问题,导致500错误。解决方法包括在csproj文件中添加特定配置,理解View的查找规则,并检查csproj文件中是否存在导致问题的冗余记录,手动删除后可正常发布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题,很好解决

在csproj文件中加入

  <RazorCompileOnBuild>false</RazorCompileOnBuild>
  <RazorCompileOnPublish>false</RazorCompileOnPublish>

这就能发布了。

 

但是我在发布的时候shared文件夹里我做了两个layout文件,我一般习惯自己在view里设定布局页面。

 

@{
    Layout = "~/Views/Shared/_layoutWeb.cshtml";
    ViewData["Title"] = "小确幸";
}

但是在发布的时候,view里就一直发布不出来这个layoutweb文件,导致每次输出,都有有一个500错误。

提示如下:

An unhandled exception has occurred while executing the request.
System.InvalidOperationException: The layout view '~/Views/Shared/_layoutWeb.cshtml' could not be located. The following locations were searched:
~/Views/Shared/_layoutWeb.cshtml

所以就换个思路。

 

还是要理解view的规则

View的查找规则: 先查找Controller对应的文件夹, 若未找到则到Shared文件夹查找, 若最终未找到则提示错误。

所以还是听他的 规则,不必自己指定。否则输出不出来了。

 

但是即便在对应文件夹里layout,也还是无法输出,需要手动拷贝。&nb

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值