Visual Studio 2015不突出显示剃须刀或Intellisense的语法


121

我在VS2015 RC中的Razor视图未显示C#代码的正确颜色。我的项目在VS2013中运行良好,但在2015年却没有,并且没有给我有关C#代码的任何Intellisense。解决方案已构建,站点运行正常。

我尝试了以下无济于事

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

我怎样才能解决这个问题?

例:


3
您是否考虑过等待完整版本?当前的那个仍然是越野车,只是作为那些不耐烦的预览。
walther,2015年

您是否已经安装了生产力工具?在我的情况下,他们在vs中摔倒了很多。Curretnly现在在vNext PRojects中获得了亮点
Boas Enkler

这在VS2015 Professional中仍然存在。此线程中的所有答案都无法永久解决问题。语法突出显示仍然中断。
贾斯汀·斯基尔斯

如果下面的答案都不能解决问题,您可以在这里看看: stackoverflow.com/questions/33245041/… 安装.NET Core 1.0.0为我解决了这个问题。我从相同的问题开始,但是Web模板也有问题(不适用于新项目)。始终选中“ Microsoft Web Developer Tools”上的复选标记(如以下答案之一所述)。
Ruard van Elburg

检查您的MVC版本。如果小于或等于3,则VS 2015不支持它。
RMuesi

Answers:


215

我在这个答案中找到了另一种无需安装即可解决的方法devenv.exe /ResetUserData

只需在关闭Visual Studio的情况下删除此目录的内容: %LocalAppData%\Microsoft\VisualStudio\<visual_studio_version_number>\ComponentModelCache

要查找您正在运行的Visual Studio版本的版本号,请参考列表。请注意,只有主号码才是重要的,次要版本可以而且可能会有所不同。就我而言,我安装了Visual Studio 2017 Enterprise,因此我在AppData文件夹中寻找15.xx并找到15.0_9a1c4a06了它。


7
这对我有用。VS 2015 Enterprise版本14.0.23107.0 D14REL
Toft,

3
谢谢。这是更好的方法,而不是重置VS2015 Enterprise中的所有用户数据
kapsiR 2015年

1
适用于VS 2015 Enterprise
Law

4
这应该是主要解决方案,在VS 2015企业版上也对我
有用

1
这对我有用,我同意这应该是主要的解决方案。我正在使用专业版。非常感谢你。
琼·维达尔

52

我遇到了同样的问题,到目前为止,唯一的解决方法是重置所有用户数据(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData)。

注意:如果这样做,您将丢失所有自定义设置,例如键盘快捷键和窗口布局!

编辑:人们说这仅适用于RC,而不适用于RTM,因此您可能要先尝试其他修复程序。


虽然这可能不是最佳解决方案,但它对我有用!谢谢!我想知道是否与安装以前的CTP版本有关。
DLeh 2015年

2
您可以先导出键绑定,然后再还原它们
控制台

插入符号是否在该命令行中?它通过用反斜杠代替它对我起作用。但是这个解决方案也对我有用!
尼古拉斯·彼得森

1
然后您松开所有插件。
Knerd

1
我有企业版(VS 2015)。这个版本有什么解决方案吗?上述解决方案对我不起作用。
Zeeshan

26

我在VS 2015 RTM中遇到了同样的问题,并且能够通过以下方式简单地以安全模式加载Visual Studio来解决此问题:

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

然后正常关闭并重新打开它。


1
不过,它确实为我工作,值得尝试。您不会丢失当前设置。
尼克

这对我不起作用,该错误也会在SafeMode中显示(并且显然是以“标准”方式重新打开后)。
T-moty 2015年

感谢您为我节省了设置的麻烦!
grmbl

在我的VS 2015 Enterprise上工作
Tamim Al Manaseer

太棒了!也为我工作。值得尝试的是,在过去的几次情况下,我通常都会夸大设置。
迭戈

10

在更新Visual Studio 2015 Update 1之后,我遇到了同样的问题。我尝试了所有答案,但对我没有用。

对我来说,解决方法是转到程序和属性> Visual Studio社区版>更改。我点击了修改。

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

它没有在我的列表中检查过:/

在此处输入图片说明


不幸的是,当我尝试此操作时,复选标记刚刚出现。:<它拒绝离开。:<仍然停留在此问题上。:<现在在VS上非常出色。:<巨大的时间消耗。
PHenry

在这里看看: stackoverflow.com/questions/33245041/… 症状是相同的。我解决了这个问题,通过安装.NET核心1.0.0
Ruard面包车Elburg的

7

工具>选项>文本编辑器>所有语言>常规。取消选中“隐藏高级成员”选项。单击确定。

一旦我做了,Intellisense似乎对我有用。然后,我将其重置并保留功能。我正在使用Visual Studio 2015企业版。

我已经尝试过ResetUserData,但对我来说不起作用。


1
好了,它起作用了,然后又回到了不起作用的状态
Shawn

1
这不适用于我与C#。但是,我选择了“文本编辑器”>“ C#”,然后选中/然后取消选中“隐藏高级成员”,然后按OK,intellisense再次开始工作。
Todilo

这对我也起作用,并且比重置环境好得多!
保罗·卡罗尔

我取消选中它后,它会不断被检查
Tony_Henrich

我遇到了一个问题,即智能提示菜单会突然弹出然后消失-这解决了这个问题,现在菜单按预期保持可见状态。
X3074861X 2016年

6

我安装了Visual Studio Community Edition 2015(长时间使用Visual Studio Community Edition 2013之后),并且遇到了相同的问题。我尝试了上述所有解决方案,但没有任何帮助。

最后,关闭Visual Studio并删除以下文件夹-

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

...而且现在可以使用!!!


这对我
有用

有时这有效,有时却无效。它为我修复了大约5分钟,然后又开始发生。
贾斯汀·斯基尔斯

这至少现在解决了我的问题。它可能不会继续工作,但是我们会看到的。似乎是一个奇怪的错误,是Microsoft应该解决的问题。这个问题是在2015年都和2017年
亡灵哨兵

5

运行VS 2015 RTM。/ ResetUserData和/ SafeMode都不适合我。在启动VS时,也有一些Productivity Power Tools 2015相关的抱怨与“ errors-in-ActivityLog.xml”弹出窗口。

因此,如果您有类似的症状,请按照以下步骤将其固定在计算机上:

  1. 启动“启动Visual Studio 2015实验实例”并打开您的项目。如果智能感知正常,并且高亮显示了剃刀语法,则很有可能执行以下操作。
  2. 卸载“ Productivity Power Tools 2015”并关闭Visual Studio。
  3. 转到%LOCALAPPDATA%\Microsoft\VisualStudio\并删除14.0文件夹。
  4. 启动VS-它应在刚安装时启动。

PS实际上,我花了好几次时间才能使智能感知工作,因为我先禁用了PowerTools,然后在重新启用时又再次破坏了VS。因此,它需要完全重新安装。可能是由您的情况下的另一个扩展引起的。


为我工作!Visual Studio 2015企业版。
木材

对我有效,而无需卸载“ Productivity Power Tools 2015”。Visual Studio 2015企业版。
ShurikEv

4

如果您的项目是MVC4,这将起作用。在这里查看更多详细信息。另请注意,此问题将在以后的版本中得到纠正。
您如何判断您的项目是否为MVC4?打开packages.config并滚动到Microsoft.AspNet.Mvc的条目。如果列出的版本以“ 4”开头,则表示您正在使用MVC 4。


这对我来说确实是个问题,/ resetuserdata对您没有帮助:(
chrilith


它与MVC4无关。使用MVC5和6的项目仍然遭受这些问题的困扰。
贾斯汀·斯基尔斯

这就是我最终发现的原因。我的项目是MVC3。VS2015不支持MVC 3。
RMuesi '17

4

我有一个类似的问题,其中任何剃刀脚本都不会突出显示,智能感知将不起作用,编译器也不会识别任何错误(即使我故意将语法错误放入其中!)

实际上,我通过以下方法解决了该问题:转到C:/ Users / YourUserName / AppData / Local / Temp并从该文件中删除所有内容,然后我又重新启动了VS,我的Razor Views开始起作用!

希望有帮助!


这对我有用。我必须手动删除Razor-Server文件夹中的某些项目,这些项目在编译过程中也被锁定。
鲁迪·斯科金斯

3

有些观点对我来说很好,有些观点根本没有...唯一对我有用的是:

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

我也尝试了其他大多数解决方案,但是它们对我没有用。


2

友善的提醒,以确保您已正确使用@model视图顶部的小写字母,而不是@Model(例如,我做错了)。

小写字母@model是一种将视图强类型化为紧随其后的类的实例的指令。而大写Model是获取模型实例的视图的属性。


1

我通过将文件包含在项目/解决方案中来解决此问题。我忽略了以下事实:如果不包含突出显示/智能提示,则不存在。


0

我遇到了同样的问题,必须下载并安装“ Microsoft ASP.NET和Web工具”和“ Web Essentials”。完成此语法突出显示后,Razor intellisense再次开始工作。


对我没有影响。VS2015专业版。
贾斯汀·斯基尔斯

我正在使用VS2015社区。您是否尝试过Geir Sagbergs解决方案?在CMD中运行:“ C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv.exe” / ResetUserData
Ogglas

2
是。我已经在StackOverflow的每个线程中尝试了每种解决方案。没事。我什至重新安装了VS和操作系统。
贾斯汀·斯基尔斯

如果在重新安装后创建一个新的控制台项目,它将在那儿工作吗?
Ogglas 2015年

0

卸载并重新安装以下各项对我有用:

Microsoft.AspNet.Mvc

Microsoft.AspNet.WebPages

Microsfot.AspNet.Razor

我尝试重置用户数据,删除temp和14,以及更改选项设置,但这些都不起作用。我什至尝试修复并重新安装。我正在使用VS 2015版本14.0.24720.00更新1


这也对我有用,我有一个我在VS2013中工作过的MVC4站点,因为直到更新1才缺少支持。安装更新1后,它在2015年仍然无法正常工作,但是请卸载并重新安装软件包来自Nuget的问题解决了。
lostatredrock

0

您只应删除项目中的“ .vs”文件夹。(。vs文件夹处于隐藏状态)

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


0

对我来说唯一有效的方法是将项目的“输出路径”更改为bin\(过去是bin\Debug):

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

0

上面不起作用,但我设法:

  • Web Developer ToolsVS 2015,RC,Update 1的卸载(从Windows程序和功能)
  • 安装(从VS Installer-> Modify)Web Developer Tools(这是上述版本的另一个版本)

因此,问题在于VS安装程序未安装Web开发人员工具,因为它们将已经安装的不兼容版本视为正确的版本。


0

我通过将项目更新为ASP .NET MVC版本5解决了此问题。但是它需要对配置文件进行一些进一步的操作。在这里,我找到了分步指南:

  • 在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帮助程序(不要与Microsoft.AspNet.WebHelpers混淆!
    3. Microsoft.AspNet.Mvc.FixedDisplayMode
  • 升级所有ASP.NET NuGet程序包。在Package Manager控制台中,您可以运行以下命令:Update-Package。没有任何参数,它将更新每个软件包。
  • 更新应用程序并查看配置文件:
    1. 对于名称属性为“ System.Web.Mvc”的所有元素,将版本号更改为新版本(在解决方案资源管理器中检查程序集的版本,它必须等于或高于“ 5.0.0.0”)
    2. 对名称属性为“ System.Web.Helpers”“ System.Web.WebPages”的所有元素执行相同的操作。
    3. 检查配置文件“ oldVersion”和“ newVersion”中的程序集“ System.Web.Helpers”“ System.Web.Mvc”“ System.Web.WebPages”的绑定重定向。
    4. 找到appSettings部分,并将 网页:版本从“ 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程序包,请在程序包管理器控制台中使用以下命令安装Microsoft.AspNet.WebHelpersInstall-Package -Id Microsoft.AspNet.WebHelpers

我希望这将有所帮助。


0

一种非侵入性的方法是检查Views web.config文件中的正确版本。这些Web.config文件位于app / Area / AreaName / Views或常规app / Views文件夹下。它们与项目的Web.config文件不同。

  • 确保类型程序集字符串中的每个版本与您的NuGet安装版本匹配
  • 确保factoryType程序集字符串中的版本与您的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" />

0

对我有效的方法(VS 2015 Community)是答案中建议的选项。以管理员身份运行cmd.exe,我运行了以下命令:

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

0

我一直在下载并安装“ Microsoft ASP.NET和Web工具”和“ Web Essentials”,它对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.