发布应用程序后,我收到错误消息:“ InvalidOperationException:找不到布局视图'_Layout'。搜索了以下位置:/Views/Home/_Layout.cshtml /Views/Shared/_Layout.cshtml
Microsoft.AspNetCore.Mvc.Razor.RazorView.GetLayoutPage(ViewContext上下文,字符串executeFilePath,字符串layoutPath)“
布局位于Views / Shared文件夹中,并且应用程序在本地使用它,因此发布时一定有问题。不幸的是,在已发布的应用程序中,视图似乎全部包含在一个dll文件中,并且我无法采取任何措施来解决问题。我的代码中是否有任何内容会使发布者忘记添加_Layout.cshtml视图?我在_ViewStart.cshtml中有对布局的引用,这应该适用于所有页面。没有Layout,我的应用程序注定要失败,我不知道该怎么办。
确定在尝试了许多之后,我发现了为什么发布不包含我的布局页面的原因!太棘手了,令我惊讶。希望这对其他人有帮助!在布局文件(或任何其他文件)上单击鼠标右键时,将显示带有选项属性的菜单。我打开了布局文件的属性,并且发现那里有一个“高级”选项:“编译操作”。我的选项设置为“无”,这意味着该文件未编译,因此未包含在发布中。我将其放在“内容”上,然后再次尝试发布,一切都进行得很好,这一次是对布局文件进行了编译并将其包含在发布中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句