【发布时间】:2017-10-17 15:44:24
【问题描述】:
我有一个 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 生成的文件)。我收到错误说它们不存在当前上下文。
我可以成功编译和运行代码,页面渲染得很好,不过最好能消除这些错误并获得我通常得到的智能感知。
我正在运行 VS2017 社区,并且我安装并更新了 Razor 扩展。我对其他项目有智能感知,它似乎就是这个。
【问题讨论】:
-
通常:重建;关闭所有文件;关闭 Visual Studio 并重新打开
-
试过了还是有问题?还有其他想法吗?
-
所有 NuGet 包都已恢复并正确引用?
-
似乎是。运行程序时没有问题。只是烦人我无法获得智能感知?
-
清除所有 .vs 隐藏文件夹和 .suo .user 文件。只有一种解决方案有问题吗?如果您创建一个新的 MVC 项目,它可以工作吗?在安全模式下尝试 Visual Studio 其他方法都失败了?
标签: c# asp.net-mvc razor