我有一个MVC5项目,我正在尝试解决在System.Web.MVC组件上无法获得智能感知的一些问题
在我的视图文件夹中的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生成的文件)。我收到错误,说它们不存在于当前上下文中。
我可以成功地编译和运行代码,并且页面呈现得很好,不过如果能消除这些错误并获得我通常得到的intellisense就好了。
我正在运行剃刀社区,并且我已经安装并更新了VS2017扩展。我在其他项目上有智能感知,就是这个项目。
发布于 2017-10-19 16:12:07
好的,经过大量的搜索和时间的浪费,这个答案解决了这个问题;
The name 'ViewBag' does not exist in the current context - Visual Studio 2015
下面是我采取的步骤(可能不需要移除和删除文件);
的临时asp net文件的路由中删除隐藏的.vs文件夹
C:\Users\your.name.here\AppData\Local\Temp\Temporary ASP.NET文件
C:\Users\your.name.here\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
注仅使用上述方法并不能解决问题,因此我将下面的方法与上面的方法结合使用。

这重新构建了nuget引用,并且智能感知返回了。希望有一天,在某个地方,这会有所帮助。
https://stackoverflow.com/questions/46794090
复制相似问题