繁体   English   中英

Views Web.config中的名称空间上没有智能感知

[英]No intellisense on namespaces in Views Web.config

我有一个MVC5项目,我正在尝试解决一些有关System.Web.MVC组件上没有智能感知的问题。

在我的views文件夹中的Web.Config中,我有以下内容;

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Configuration" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="Helpers" />
        <add namespace="Common.Net.Mvc" />
        <add namespace="Common" />
        <add namespace="MvcSiteMapProvider.Web.Html" />
        <add namespace="MvcSiteMapProvider.Web.Html.Models" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

但是,当我然后引用例如Url。,ViewBag或Html.ActionLink等时(同样,如果我引用的是我的Common类,它是.resx生成的文件)。 我收到错误消息,说它们不存在当前上下文。

我可以成功地编译并运行代码,并且页面呈现得很好,尽管可以消除这些错误并获得我通常得到的智能感知将是很好的。

我正在运行VS2017社区,并且已安装和更新Razor扩展。 我在其他项目上有智慧,似乎就是这个项目。

好吧,经过大量的搜索和浪费的时间,这里的答案解决了这个问题;

当前上下文中不存在名称“ ViewBag”-Visual Studio 2015

这是我执行的步骤的摘要(可能不需要删除和删除文件);

  1. 从存在问题的解决方案中删除.suo和.csproj.user。
  2. 从解决方案的路径中删除隐藏的.vs文件夹
  3. 从中删除temp asp net文件

C:\\ Users \\您的名称。此处\\ AppData \\ Local \\ Temp \\ Temporary ASP.NET文件

  1. 从此处删除文件;

C:\\ Users \\您的名称。此处\\ AppData \\ Local \\ Microsoft \\ VisualStudio \\ 14.0 \\ ComponentModelCache

请注意,仅靠上面的方法并不能解决问题,因此我在上面结合了以下内容。

  1. 将.csproj版本信息与该项目的.csproj版本信息进行了比较,并添加了问题和修正(因为这确实是从VS 2012继承过来的项目),并且按照上面的链接进行了比较。

csproj图片

  1. 右键单击解决方案->'Manage Nuget Packages ...'->更新->全选->应用更新

这重建了nuget参考,并且智能感知又回来了。 希望有一天,这会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM