【发布时间】:2017-03-11 15:00:59
【问题描述】:
我已经使用 Visual Studio 2015 一年多了,没有任何问题。最初在 VS 2010 上开发并升级到 VS 2015 的 MVC.net 项目之一在所有 HTML 帮助程序上都有红色错误行。一切仍然可以编译并运行良好,只有有限的智能感知和打开视图时显示的大量错误。
我注意到的一件事是 HTML 助手使用的命名空间与我的其他工作项目不同。
例如,如果我将鼠标悬停在 Html.BeginForm 上,命名空间将显示 WebPage.HTML。在一个工作项目中 Html.BeginForm 显示 WebViewPage。
我已经花了几个小时查看旧帖子中的所有建议,但没有任何效果。
Razor Views not seeing System.Web.Mvc.HtmlHelper
Why don't my Html Helpers have intellisense?
因为一切都可以编译并且实际上可以工作,我相信这个问题与 VS 工具或 /views/web.config 有关。我已经验证了 .proj 文件中的工具设置为 14,并且 view/web.config 中的所有引用都正确,但没有任何效果。当然,我已经多次清理并重建了解决方案。我还从 nuget 完全安装了 mvc.net 并重新安装了几次。
这个项目中唯一奇怪的限制是我无法将它升级到 mvc 4,因为项目中还有几个其他依赖项与 .net 4 相关联。
这是我的 view/web.config 的相关部分
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.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>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
这是我的 web.config 中的相关部分
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
<system.web>
<httpRuntime maxRequestLength="1048576" executionTimeout="1500"/>
<customErrors mode="RemoteOnly"></customErrors>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Helpers, Version=1.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=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
我从这里去哪里?
【问题讨论】:
标签: asp.net-mvc razor intellisense