[英]Visual Studio 2015 not syntax highlighting razor nor Intellisense
我在 VS2015 RC 中的 Razor 视图没有为 C# 代码显示正确的颜色。 我的项目在 VS2013 中运行良好,但在 2015 年不是,并且它没有给我任何关于 C# 代码的智能感知。 解决方案构建并且站点运行良好。
我尝试了以下无济于事
.suo
文件我怎样才能解决这个问题?
例子:
我在此答案中找到了另一种无需devenv.exe /ResetUserData
即可修复它的devenv.exe /ResetUserData
只需在关闭 Visual Studio 的情况下删除此目录的内容: %LocalAppData%\\Microsoft\\VisualStudio\\<visual_studio_version_number>\\ComponentModelCache
要查找您正在运行的 Visual Studio 版本的版本号,请参阅 此列表。 请注意,只有主要版本号很重要,次要版本可能并且可能会有所不同。 就我而言,我安装了 Visual Studio 2017 Enterprise,因此我查找了15.xx
并在 AppData 文件夹中找到了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
然后正常关闭并重新打开它。
工具 > 选项 > 文本编辑器 > 所有语言 > 常规。 取消选中隐藏高级成员选项。 单击确定。
一旦我这样做了,Intellisense 似乎对我有用。 然后我将其重置并保留功能。 我正在使用 Visual Studio 2015 企业版。
我曾尝试过 ResetUserData 但这对我不起作用。
我安装了 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
......它现在起作用了!!!
运行 VS 2015 RTM。 /ResetUserData 和 /SafeMode 都不适合我。 在启动 VS 时,还有一些与 Productivity Power Tools 2015 相关的抱怨和“errors-in-ActivityLog.xml”弹出窗口。
所以,如果你有类似的症状,这是我在我的机器上修复它的方法:
%LOCALAPPDATA%\\Microsoft\\VisualStudio\\
并擦除14.0
文件夹。PS 实际上,我花了几次才让我的智能感知工作,因为我首先禁用了 PowerTools,重新启用时它再次破坏了 VS。 因此,它需要完全重新安装。 可能是由您的情况下的另一个扩展引起的。
如果您的项目是 MVC4,这将是效果。 在此处查看更多详细信息。 另请注意,这将在即将发布的版本中得到纠正。
如何判断你的项目是否是MVC4? 打开packages.config 并滚动到Microsoft.AspNet.Mvc 的条目。 如果列出的版本以“4”开头,则表示您使用的是 MVC 4。
我有一个类似的问题,任何剃刀脚本都不会突出显示,智能感知不起作用,编译器不会识别任何错误(即使我故意将语法错误放入!)
我实际上通过转到 C:/Users/YourUserName/AppData/Local/Temp 并删除此文件中的所有内容来解决该问题,一旦我这样做并重新启动 VS,我的 Razor 视图就开始工作了!
希望有帮助!
有些观点对我来说效果很好,有些则完全没有......唯一对我有帮助的东西:
我也尝试了大多数其他解决方案,但它们对我不起作用。
友情提示,确保您在视图顶部正确使用了小写的@model
,而不是@Model
(就像我犯的错误)。
小写@model
是一个指令,它将视图强类型@model
跟随它的类的实例。 而大写的Model
是获取模型实例的视图的属性。
我通过在项目/解决方案中包含文件来解决这个问题。 我忽略了一个事实,即如果不包括在内,就没有突出显示/智能感知。
我遇到了同样的问题,不得不下载并安装“Microsoft ASP.NET and Web Tools”和“Web Essentials”。 完成此语法突出显示后,Razor 智能感知再次开始工作。
在我的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>
卸载并重新安装以下对我有用:
微软.AspNet.Mvc
Microsoft.AspNet.WebPages
Microsfot.AspNet.Razor
我尝试了重置用户数据,删除 temp 和 14,以及更改选项设置,但这些都不起作用。 我什至尝试修复并重新安装。 我正在使用 VS 2015 版本 14.0.24720.00 更新 1
您应该只删除项目中的“.vs”文件夹。(隐藏 .vs 文件夹)
小心ResetUserData
删除 Visual Studio 上的所有自定义。
唯一对我有用的是将项目的“输出路径”更改为bin\\
(它曾经是bin\\Debug
):
Properties
并导航到Build
,Output path:
的文本框中的值更改为bin\\
以上不起作用,但我设法:
Web Developer Tools
Web Developer Tools
(这是上面的另一个版本)所以问题是 VS 安装程序没有安装 Web 开发工具,将已经安装的不兼容版本识别为正确的版本。
我通过将我的项目更新到 ASP .NET MVC 版本 5 解决了这个问题。但它需要对配置文件进行一些进一步的操作。 在这里,我找到了分步指南:
我希望这将有所帮助。
一种非侵入性的方法是检查您的视图 web.config 文件以获取正确的版本。 这些 Web.config 文件位于 app/Area/AreaName/Views 或常规 app/Views 文件夹下。 它们与项目 Web.config 文件不同。
以下是撰写此评论时的最新示例:
<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 社区)是这个答案中建议的选项。 以管理员身份运行 cmd.exe,我运行了以下命令:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /setup
我一直在下载和安装“Microsoft ASP.NET and Web Tools”和“Web Essentials”,它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.