【问题标题】:The name 'Model' does not exist in the current context ASP.NET MVC5当前上下文 ASP.NET MVC5 中不存在名称“模型”
【发布时间】:2014-03-30 13:37:47
【问题描述】:

我正在编写 NopCommerce 3.2 的插件,在视图中我得到了上面提到的错误,还有“布局”和“Html”。我复制了在另一个插件中工作的相同 Web.Config。我还添加了与工作插件中使用的相同的引用。编译插件时有效,但我没有任何智能感知,不能相信 VisualStudio 正确标记错误。我正在使用 VS2013 Professional Update 1。

这是 Web.Config 文件:

<?xml version="1.0" encoding="utf-8"?>

<!-- We use this file to make razor intellisense work in the class library -->




<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation targetFramework="4.5" />
    <pages
    validateRequest="false"
    pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <controls>
        <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
      </controls>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <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.WebPages" />
      </namespaces>
    </pages>
  </system.web>
  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="Nop.Web.Framework.ViewEngines.Razor.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
</configuration>

编辑:对不起,如果你发现这个问题没有被研究过,但我向你保证我已经花了几个小时试图找到解决方案(包括我在 stackoverflow 中发现的那些类似的问题,并指出 web.config 是问题所在这就是我在我的问题中包含该文件的原因)但找不到它。

【问题讨论】:

  • 你没有复制同一个项目?
  • 我使用了其他项目的部分(就像我最近创建的其他插件一样),但没有复制整个项目。你的意思是解决方案是复制工作项目并切换里面的代码?问题是我有大约 30 个项目不再工作,只有几个工作。我不知道他们为什么突然停止工作,但可能是由于 nuget 包中的更新。不明白为什么有些项目可以工作......

标签: c# asp.net web-config asp.net-mvc-5 nopcommerce


【解决方案1】:

这个错误可能是由 Resharper 引起的。我们是一个使用 GIT 的三名开发人员团队。我们中的一个人安装了 Resharper,这可能导致了我们另外两个人的错误。当我们安装 Resharper 试用版时,它突然又可以工作了。不幸的是,再次卸载 Resharper 时它无法正常工作...

【讨论】:

  • 我就是有这个问题。它编译并运行良好。但智能感知不起作用,并给出此名称模型不存在的消息。 Resharper 破坏了我的 vs 并且试用结束了,所以我卸载了它并留下了损坏的智能感知。
  • 我可以确认无法检测到 @model 是由于我的 ReSharper Ultimate 扩展。我禁用了 ReSharper,退出 VS 2017,打开 VS 2017,清理,构建项目,重新启用 ReSharper。 @model 的智能感知红线消失了。
【解决方案2】:

尝试在 system.web 中添加此部分。 (确保我添加的版本确实是您正在使用的版本)

<compilation targetFramework="4.5">
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>

关闭 .cshtml 视图文件。重建项目。然后再次打开它们。

【讨论】:

  • 试过了,还是不行。如何检查要使用的版本?在 Nuget 中,它说 System.Web.WebPages 是 3.1.1 版,但是当我在空白模板中使用它时,我总是得到 3.0.0.0 版。
【解决方案3】:

卸载项目 MVC Nuget Package 并重新安装它为我修复了它。当我更改项目的 .net 版本时,我的搞砸了。

【讨论】:

  • 在 VS 2015 RTM 中为我工作。
【解决方案4】:

确保您在视图上定义的命名空间与模型的命名空间匹配。

【讨论】:

  • 视图中的命名空间定义(使用 ...)与模型中的匹配。
【解决方案5】:

如果您将项目属性更改为目标 4.5.1,

其他很多地方的targetFramework仍然会说45

你可以在你的根 web.config 中找到 targetFramework 3-4 次 并在各种packages.config中。

我有同样的问题,将项目更改为目标 4.5 并且它清除了。

最好不要针对 4.5.1

【讨论】:

  • 你拯救了我的夜晚。不知道为什么会这样。尝试了各种方法,但没有任何反应。
【解决方案6】:

我遇到了同样的问题。解决方案是卸载项目 MVC Nuget Package 并重新安装。

http://mhammadchehab.com/wordpress/2013/12/enabling-intellisense-for-razor-in-class-library-mvc-5-razor-3-0/

【讨论】:

  • 将现有应用程序从 MVC 4 移动到 MVC5 后出现同样的问题
【解决方案7】:

项目属性中的所有配置项目输出路径更改为/bin。这很奇怪,但是当 VS Project Output 被推送到 /bin/Debug/bin/Release 时,智能感知似乎完全被破坏了。

【讨论】:

    【解决方案8】:

    我在 MVC 5 项目中遇到了同样的错误。我的情况是 Views 文件夹中的 Web.config 没有以某种方式发布。添加回来解决了这个问题。

    【讨论】:

      【解决方案9】:

      我的情况是,我必须通过关闭 Visual Studio 并删除此文件夹来 reset the Visual Studio Component Cache

      C:\Users\[用户名]\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

      【讨论】:

        【解决方案10】:

        我有同样的错误,只是改变了

        <pages pageBaseType="Nop.Web.Framework.ViewEngines.Razor.WebViewPage">
        

        <pages pageBaseType="System.Web.Mvc.WebViewPage">
        

        我只是想在控制台应用程序中获取 cshtml intellisense,所以它可以让我回到标准的基本 webviewpage。

        【讨论】:

          猜你喜欢
          • 2017-01-19
          • 2021-01-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-04
          • 1970-01-01
          • 2011-09-17
          相关资源
          最近更新 更多