“ Scripts”这个名称在 MVC 的当前上下文中不存在

在我的 mvc 应用程序中,In _ Layout.cshtml 的代码如下..。

<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")


</head>

但问题是上面写的是 The name 'Scripts' does not exists in the current context

我已经将程序集作为 using System.Web.Optimization;添加到引用和 Bundle 配置中

@ style也是这样。 我该怎么办?

110595 次浏览

确保您的 ~/Views/Web.Config添加了 System.Web.Optimization名称空间:

<system.web.webPages.razor>
<pages>
<namespaces>
<add namespace="System.Web.Optimization"/>
</namespaces>
</pages>
</system.web.webPages.razor>

仍然存在智能感知问题,您可以将此代码添加到 global.asax 文件内的 Application _ Start ()方法中。

BundleConfig.RegisterBundles(BundleTable.Bundles);

请跟着我的脚步走

首先

  • 安装 Microsoft.AspNet.Web.Optimisation
  • 检查 App_Start文件夹是否包含 BundleConfig.cs文件。
  • 添加 < code > < 名称空间 > < add nampace = “ System. Web. Optimation”/> Views/web.config文件中
  • Global.asax.cs中添加 BundleConfig.RegisterBundles(BundleTable.Bundles);
  • 重建并运行它

Chtml 中的以下内容解决了这个问题

@using System.Web.Optimization
@Scripts.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")

在 VisualStudio2019中,我能够解决这个错误。 现在,“ Microsoft.AspNet.Web.Optimation”包中包含了 Microsoft.Web.OptimationsWeb。 使用 NuGet 打包管理器下载软件包。 在. cshtml 文件中添加“@using System.Web.Optimation;

解决这个问题的最简单方法是从 NugetPackageManager 下载(Microsoft.AspNet.Web.Optimation)。

步骤:

  1. 右键单击“解决方案”。
  2. 选择“为解决方案管理 Nuget 软件包”
  3. 搜索(Microsoft.AspNet.Web.Optimation)并下载—— > application 在这个项目上。
  4. 关闭 VisualStudio 中所有打开的页,然后重新打开它们,

您可能需要添加 Nuget 软件包

网络优化

你的项目。