Razor文件(.cshtml)中的IntelliSense停止工作
智能感知不能在剃刀文件中工作:
在我的web.conifg文件(在视图文件夹中)显然是正确的:
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.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" /> <add namespace="System.Web.Optimization" /> <add namespace="MvcSiteMapProvider.Web.Html" /> <add namespace="MvcSiteMapProvider.Web.Html.Models" /> <add namespace="DevTrends.MvcDonutCaching" /> </namespaces> </pages> </system.web.webPages.razor> <appSettings> <add key="webpages:Enabled" value="false" /> </appSettings> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="BlockViewHandler" /> <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> </handlers> </system.webServer> </configuration>
在IntelliSense突然开始出错并停止在我的视图中的HTML标记之间正确着色C#代码之后,这就是我的工作原理:
只需删除%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
文件夹中的内容
作为一个额外的步骤,如果上述步骤不能解决问题,您可以select在VS的开发人员命令提示符(以pipe理员身份)运行命令DevEnv.exe /setup
。
造成这种情况的一个原因可能是,如果您的网页设置为mvc4应用程序的版本3,则可以在web.config应用程序设置中将其更改为版本2。
<appSettings> <add key="webpages:Version" value="2.0.0.0" />
当智能感知系统停止在剃刀文件中工作时,很可能会通过三个步骤来解决问题:
- closuresVisual Studio
- 删除解决scheme用户选项文件(
<solution-name>.suo
) - 在Visual Studio中重新打开解决scheme。
智能感应选项的其他解决scheme可以在这里find。
将项目升级到MVC 5.2.3后,我在Visual Studio 2013中遇到了这个问题。 这个工作对我来说是取代了以下的“视图”文件夹中的web.config,因为NuGet包离开web.config与许多MVC 4.0引用。
<?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.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.Optimization"/> <add namespace="System.Web.Routing" /> <add namespace="InvestureApps" /> </namespaces> </pages> </system.web.webPages.razor> <appSettings> <add key="webpages:Enabled" value="false" /> </appSettings> <system.webServer> <handlers> <remove name="BlockViewHandler"/> <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> </handlers> </system.webServer> </configuration>
在我的情况下,“Xamarin”(移动应用程序开发工具)是问题。 卸载Xamarin后,剃刀Intellisense工作正常。
HTTP://forums.xamarin.com/discussion/24892 …
我遇到过同样的问题。 虽然我使用的是VS 2012,但下载适用于VS 2013和VS 2012.我已经尝试了一些修补程序(不得不使用web.config,通过NuGet卸载/重新安装MVC等),但是只有一个为我工作的是安装这个(对我来说,VS 2012)
VS 2013与ASP.NET和Web工具2013.1 http://www.asp.net/downloads
我的项目从VS2012升级到VS2013,这解决了我的问题:
将Web.config文件中的“网页:版本”从“1.0.0.0”更改为“2.0.0.0”
<appSettings> <add key="webpages:Version" value="2.0.0.0" />
注意你的Web应用程序中是否有区域,Areas / Views文件夹中有另一个Web.config文件,在我的情况下,这个configuration文件是罪魁祸首。
另外,在对Web.config进行更改之后,可能必须重新启动Visual Studio,重新构build解决scheme似乎没有收到更改,至less它不适用于我。
我刚刚遇到了一个非常类似的问题:现有的应用程序不提供剃刀视图的intellesense,但我可以创build一个全新的应用程序,它的工作。 我能够通过使用脚手架为实体创build新的控制器和视图来解决问题。 intellesense为新的实体工作,并再次为现有的工作!
安装ASP.NET和Web Tools 2013.1 for Visual Studio 2012为我工作:
您可能需要重新启动VS才能正常工作。
经过大量的search和testing,我发现,没有安装2013或任何升级版本,你仍然可以解决2012年的这个着色问题。安装“Visual Studio 2012的ASP.NET和Web工具2013.1”为我解决了这个问题。 closuresVS 2012并在安装后重启。
下载链接是, https://www.microsoft.com/en-us/download/details.aspx? id = 41532
它为我工作。 希望它适合你。
我也有类似的情况,然后意识到我的项目中没有包含razor视图。 只要我将它包含在项目中(右键单击视图文件并select“包含在项目中”),就会出现Intellisense。