禁用 Razor View 编译

Posted

技术标签:

【中文标题】禁用 Razor View 编译【英文标题】:Disable Razor Viewcompilation 【发布时间】:2018-12-27 07:51:45 【问题描述】:

我当前的项目使用剃须刀页面 (.cshtml)。由于 JS 到目前为止很大,我决定将 javascript 分成 js 文件到 views 文件夹中。

示例: 视图\主页\登录.cshtml Views\Home\Login.js

我无法将它们移动到 wwwroot,因为它们使用了大量本地化资源以及会话值。

现在的问题是,出于某种未知原因,我的项目自动将这些视图编译为已编译的views.dll。这是不受欢迎的行为。 我无法使用 .csprj 中的错误标记禁用此功能。

如何编译我的项目,在不编译页面的情况下发布它?

【问题讨论】:

【参考方案1】:

我认为您应该可以使用脚本包并将其添加到您的_Layout.cshtml 共享视图中,如下所示:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - Restaurantes</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/YOUR_BUNDLE")
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)
</head>

您可以在此处阅读有关捆绑包的更多信息:http://www.tutorialsteacher.com/mvc/scriptbundle-mvc

【讨论】:

以上是关于禁用 Razor View 编译的主要内容,如果未能解决你的问题,请参考以下文章

禁用基于 UserRole Razor Pages 的输入字段

如何防止在 ASP.NET Core 的 Razor 视图 HTML 中禁用或只读输入字段的模型绑定?

我如何在登录 asp.net core razor 之前显示加载图标或禁用按钮

[@ Razor View中的@代码标记抛出编译器错误

如果在Razor中用于两个不同的列

禁用缩放 web-view react-native?