【问题标题】:The name does not exist in the current context (razor)当前上下文中不存在该名称(剃刀)
【发布时间】:2015-11-17 17:07:31
【问题描述】:

我在使用剃须刀时遇到了一些问题,这又让我感到压力很大。

我打开了一个项目,该项目在剃须刀中散布着 Red Squiggles。这是一个很大的挑战,因为我是一名 Webforms 开发人员,正在转向 MVC。

我正在运行 Visual Studio 2015 企业版。

起初我认为这可能是版本问题,但一切似乎都很好。 WebConfig 似乎是最新的。我很茫然,需要指导。非常感谢任何帮助!

///编辑

查看 web.config。

  <add namespace="System.Web.Mvc" />
  <add namespace="System.Web.Mvc.Ajax" />
  <add namespace="System.Web.Mvc.Html" />
  <add namespace="System.Web.Routing" />
  <add namespace="System.Web.Optimization" />

看起来我缺少 razor 命名空间。我实际上无法在参考文献中添加它。

【问题讨论】:

  • 所以views文件夹里也有一个web.config。你也可以发一下吗?
  • 嗨@ErikPhilips 感谢您的快速回复。是的,web.config 存在。看起来井井有条。
  • 清理你的解决方案,重建,重启VS。你试过这些吗?
  • @Shyju 是的,那是我的第一个攻击计划。(全部)
  • 下一行&lt;host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.0.0.0**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;中指定的dll版本是什么。确保它是 5.0.0.0 或更高版本。

标签: c# asp.net-mvc razor


【解决方案1】:

在我看来,您的 UI 项目缺少 MVC 和 Razor 程序集引用。

检查参考文献

System.Web.MVC

System.Web.Razor

System.Web.Webpages

System.Web.Webpages.Razor

【讨论】:

  • 以上重新编辑。我缺剃须刀。我试图“添加参考”,但我很难找到“System.Web.Razor”。我可能在这里遗漏了一些简单的东西哈哈
  • 你应该使用 IDE 中的 Nuget 包管理器来获取所需的程序集文件。
  • 以上都存在......我对nuget非常熟悉,我认为MVC正在抛出我。我开始认为这是 VS15 的问题。
【解决方案2】:

在您的 web.config 中找到 &lt;system.web.webPages.razor&gt; 部分。这个配置文件可以在 Views -> web.config 下找到。 如果您有System.Web.Mvc.MvcWebRazorHostFactory版本 4.0.0.0,请将其更改为 Version=5.0.0.0。它应该如下所示:

&lt;host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;

注意:确保调用 Visual Studio 中的所有视图并重新打开它们。

【讨论】:

  • 您好,刚才试了上面的方法还是不行。谢谢你的时间。现在变得相当沮丧。
  • 你能创建一个可以复制的示例项目吗?把它放在 github 或 bitbucket 上。我去看看。
猜你喜欢
  • 2022-01-09
  • 2012-09-12
  • 2014-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多