2017-10-17 44 views
0

我有一个MVC5项目我试图解决我在哪里不是在System.Web.MVC成分越来越智能感知在视图上的命名空间的智能感知Web.config文件

在web.config中的一些问题,我views文件夹我有以下;

<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等参考(也如果我参考我的共同类,这是一个的.resx生成的文件)。我收到错误,表示他们不存在当前上下文。

我可以编译并成功运行的代码和页面渲染的很好,只是将是不错的,虽然消除这些错误,并获得智能感知我通常会。

我运行VS2017社区,我已经安装了刀片扩展和更新。我对其他项目的智能感知似乎只是这个。

+0

通常情况下:重建;关闭所有文件;关闭Visual Studio并重新打开 –

+0

试过了,它仍然导致问题?任何其他想法? –

+0

所有的Nu​​Get包都被恢复并正确引用? –

回答

0

好了,经过一番搜索和时间浪费,这个答案在这里固定的问题;

The name 'ViewBag' does not exist in the current context - Visual Studio 2015

下面是一个运行了我(可能不需要的文件的清除和删除)的降压;

  1. 从具有问题的解决方案中删除.suo和.csproj.user。
  2. 删除隐藏的文件夹.VS形成解决方案
  3. 删除临时ASP.NET的文件的路径从

C:\用户\ your.name.here \应用程序数据\本地的\ Temp \临时ASP.NET文件

  1. 从这里删除文件;

C:\用户\ your.name.here \应用程序数据\本地\微软\ VisualStudio的\ 14.0 \ ComponentModelCache

注独上述未解决所以后来我申请与上面的结合在一起。

  • 相比有与问题和ammend项目的.csproj版本信息(因为它确实VS 2012结转形式的项目),并按照上述的链接。
  • csproj Image

  • 右键单击该解决方案 - > '管理的NuGet软件包...' - >更新 - >选择所有 - >应用更新
  • 这重建的NuGet引用和智能感知回来。希望有一天,这会有所帮助。