Visual Studio 2015不语法高亮剃刀或智能感知

我在VS2015 RC的Razor视图没有显示C#代码的正确颜色。 我的项目在VS2013中工作得很好,但不是在2015年,也没有给我任何关于C#代码的Intellisense。 该解决scheme构build和网站运行良好。

我尝试了以下无济于事

  • 禁用所有的Visual Studio扩展
  • 删除我的.suo文件
  • 删除项目并重新添加到解决scheme

我该如何解决这个问题?

例:

我发现在这个答案另一种方法来修复它没有devenv.exe /ResetUserData

只需在Visual Studioclosures时删除此目录的内容: %LocalAppData%\Microsoft\VisualStudio\<visual_studio_version_number>\ComponentModelCache

要查找正在运行的Visual Studio版本的版本号,请参阅此列表。 请注意,只有主要的数字是重要的,次要版本可以和可能会有所不同。 在我的情况下,我安装了Visual Studio 2017 Enterprise,所以我查找了15.xx并在AppData文件夹中find了15.0_9a1c4a06

我有同样的问题,迄今唯一的修复是通过重置所有用户数据( C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData )。

注意:如果你这样做,你将失去所有的定制,例如键盘快捷键和窗口布局!

编辑:人们说这只适用于RC,而不是RTM,所以你可能要先尝试其他修复。

我在VS 2015 RTM中遇到了同样的问题,只能通过在安全模式下加载Visual Studio来修复它:

 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /SafeMode 

然后closures并正常重新打开。

更新Visual Studio 2015更新1后,我有同样的问题。 我尝试了所有的答案,但没有为我工作。

我的修补程序是去程序和属性> Visual Studio社区版>更改。 我点击修改。

在列表中,确保在“Windows和Web开发”下的“ Microsoft Web Developer Tools”上打勾。

这不是我的清单中检查howewer:/

在这里输入图像描述

工具>选项>文本编辑器>所有语言>常规。 取消隐藏高级成员选项。 点击OK。

一旦我这样做,Intellisense似乎为我工作。 然后,我重置它,保持function。 我正在使用Visual Studio 2015企业版。

我曾尝试过ResetUserData,并没有为我工作。

我安装了Visual Studio Community Edition 2015(在长时间使用Visual Studio Community Edition 2013之后)并面临同样的问题。 我尝试了所有上述解决scheme,但没有任何帮助

最后,closuresVisual Studio并删除以下文件夹 –

 C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0 C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0 

…现在它的作品!

运行VS 2015 RTM。 / ResetUserData和/ SafeMode都不适合我。 还有一些生产力电动工具2015相关抱怨与“错误在ActivityLog.xml”popup时,VS.

所以,如果你有类似的症状,这是我如何修复它在我的机器上:

  1. 启动“启动Visual Studio 2015实验实例”并打开您的项目。 如果intellisense正在工作,并且剃刀语法突出显示,那么下面的工作就很有可能发生。
  2. 卸载“生产力电动工具2015”并closuresVisual Studio。
  3. 转到%LOCALAPPDATA%\Microsoft\VisualStudio\并擦除14.0文件夹。
  4. 启动VS – 它应该开始,因为它刚刚安装。

PS事实上,我花了几次才使智能感应工作,因为我先禁用了PowerTools,并在重新启用时再次断开VS。 所以,它需要一个完整的重新安装。 可能是由您的情况下的另一个扩展引起的。

这将是如果您的项目是MVC4的影响。 在这里看到更多细节。 另外请注意,这将在即将发布的版本中得到纠正。
你怎么知道你的项目是否是MVC4? 打开packages.config并滚动到Microsoft.AspNet.Mvc条目。 如果列出的版本以“4”开始,则表示您使用的是MVC 4。

我有一个类似的问题,任何剃刀脚本不会突出显示,智能感知将无法正常工作,编译器不会识别任何错误(即使我故意把语法错误!)

我实际上通过转到C:/ Users / YourUserName / AppData / Local / Temp并删除了这个文件中的所有东西来解决这个问题,一旦我这样做,并重新启动VS我的Razor Views开始工作!

希望有所帮助!

友好的提醒,以确保你已经正确地使用小写@model在你的看法,而不是@Model (就像我犯了这个错误)。

小写@model是一个@modeltypes视图的指令,它跟随它的类的一个实例。 大写的Model是获取模型实例的视图的属性。

有些观点对我来说工作得很好,有些则根本没有……唯一对我有帮助的事情是:

  • closuresVS
  • 删除C:\ Users \%username%\ AppData \ Local \ Temp
  • 重新启动VS
  • 问题解决了

我也尝试了大部分其他的解决scheme,但是他们并没有为我工作。

我通过将文件包含在项目/解决scheme中来解决问题。 我忽略了这样一个事实,即如果不包括它,就不会有高亮/智能感知。

我有同样的问题,不得不下载并安装“Microsoft ASP.NET和Web工具”和“Web Essentials”。 这样做后,语法高亮和剃刀intellisense再次开始工作。

在我的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="LinkApp.Models.Templates"/> <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="LinkApp" /> </namespaces> </pages> </system.web.webPages.razor> Oddly enough, I moved my custom namespace to the bottom, and that fixed it, like this: <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.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="LinkApp" /> <add namespace="LinkApp.Models.Templates"/> </namespaces> </pages> </system.web.webPages.razor> 

卸载并重新安装了以下工作对我来说:

Microsoft.AspNet.Mvc

Microsoft.AspNet.WebPages

Microsfot.AspNet.Razor

我试图重置用户数据,删除临时工和14,以及更改选项设置,没有工作。 我什至尝试修复和重新安装。 我正在使用VS 2015版本14.0.24720.00更新1

你只能删除项目中的“.vs”文件夹(.vs文​​件夹是隐藏的)

小心ResetUserData删除Visual Studio上的所有自定义。

我唯一能做的就是将项目的“输出path”更改为bin\ (它曾经是bin\Debug ):

  1. 右键单击该项目,
  2. 点击Properties并导航到Build
  3. 滚动到标题为“输出”的最后一节
  4. 将标记为“ Output path:的文本框中的值更改为bin\

以上不起作用,但我pipe理与:

  • 卸载(从Windows程序和function)VS 2015,RC,更新1的Web Developer Tools
  • 安装(从VS安装程序 – >修改) Web Developer Tools (这是上述的另一个版本)

所以问题在于VS安装程序没有安装Web Developer Tools来识别已经安装的,不兼容的版本。

我通过更新我的项目到ASP .NET MVC版本5解决了这个问题。但是它需要一些进一步的操作与configuration文件。 在这里我find了一步一步的指导:

  • 在global.asax中,更改: WebApiConfig.Register(GlobalConfiguration.Configuration); GlobalConfiguration.Configure(WebApiConfig.Register);
  • 确保项目使用的所有包都与MVC 5和Web API 2兼容
  • 删除所有安装的以下ASP.NET NuGet包:
    1. Microsoft.AspNet.WebPages.Administration
    2. Microsoft-Web-Helpers( 不要与Microsoft.AspNet.WebHelpers混淆!
    3. Microsoft.AspNet.Mvc.FixedDisplayMode
  • 升级所有的ASP.NET NuGet包。 在软件包pipe理器控制台中,您可以运行以下命令: Update-Package 。 没有任何参数,它会更新每个包。
  • 更新应用程序和视图configuration文件:
    1. 对于名称为“System.Web.Mvc”的所有元素,将版本号更改为新版本(在解决scheme资源pipe理器中检查程序集版本,必须等于或高于“5.0.0.0”)
    2. 对所有具有名称属性“System.Web.Helpers”“System.Web.WebPages”的元素执行相同的操作。
    3. 检查configuration文件中的程序集“System.Web.Helpers”“System.Web.Mvc”“System.Web.WebPages”的绑定redirect,“oldVersion”和“newVersion”必须符合上述更改。
    4. findappSettings部分,将网页版本从“2.0.0.0.0”更新为“3.0.0.0”
    5. 将包含“System.Web.WebPages.Razor”的所有元素从版本“2.0.0.0”更新到版本“3.0.0.0”。 如果此部分包含“System.Web.WebPages” ,则将这些元素从版本“2.0.0.0”更新到版本“3.0.0.0”
    6. 如果您在之前的步骤中删除了Microsoft-Web-Helpers NuGet软件包,请在软件包pipe理器控制台中使用以下命令安装Microsoft.AspNet.WebHelpersInstall-Package -Id Microsoft.AspNet.WebHelpers

我希望这会有所帮助。

非侵入性的方法是检查您的视图web.config文件的正确版本。 这些Web.config文件位于app / Area / AreaName / Views或常规应用程序/视图文件夹下。 它们不同于项目Web.config文件。

  • 确保types汇编string中的每个版本都与您的NuGet安装版本匹配
  • 确保factoryType汇编string中的版本匹配您的NuGet安装版本

以下是撰写评论时的最新例子:

 <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.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

什么对我(VS 2015社区)的工作是这个答案中build议的选项。 以pipe理员身份运行cmd.exe,我运行以下命令:

 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /setup