【问题标题】:Visual Studio 2015 not syntax highlighting razor nor IntellisenseVisual Studio 2015 不是语法突出显示剃刀也不是 Intellisense
【发布时间】:2015-07-30 10:31:58
【问题描述】:

我在 VS2015 RC 中的 Razor 视图未显示 C# 代码的正确着色。我的项目在 VS2013 中运行良好,但不是在 2015 年,而且它没有给我任何关于 C# 代码的 Intellisense。解决方案构建完毕,网站运行良好。

我尝试了以下方法无济于事

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

我该如何解决这个问题?

例子:

【问题讨论】:

  • 您是否考虑过等待完整版本?当前的仍然有很多错误,只是为那些不耐烦的人提供预览。
  • 您是否安装了快捷会议工具?在我的情况下,他们在 vs 中崩溃了很多...... Curretnly 现在在 vNext PRojects 中得到了突出显示
  • 这仍然发生在 VS2015 Professional 中。该线程中的任何答案都无法永久解决该问题。语法突出显示仍然损坏。
  • 如果以下答案都不能解决问题,您可能想看看这里:stackoverflow.com/questions/33245041/… 安装 .NET Core 1.0.0 为我解决了这个问题。我从同样的问题开始,但也遇到了 Web 模板的问题(不适用于新项目)。始终选中“Microsoft Web Developer Tools”上的复选标记(如下面的答案之一所述)。
  • 检查您的 MVC 版本。如果它是 3 或更少,那么 VS 2015 不支持它。

标签: c# asp.net asp.net-mvc razor visual-studio-2015


【解决方案1】:

我在answer 中找到了另一种无需devenv.exe /ResetUserData 即可修复它的方法

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

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

【讨论】:

  • 这对我有用。 VS 2015 企业版 14.0.23107.0 D14REL
  • 谢谢。这比在 VS2015 Enterprise 中重置所有用户数据更好
  • 曾为 VS 2015 企业版工作
  • 这应该是主要解决方案,在 VS 2015 企业版中也对我有用
  • 这对我有用,我同意这应该是主要的解决方案。我正在使用专业版。非常感谢。
【解决方案2】:

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

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

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

【讨论】:

  • 虽然这可能不是最好的解决方案,但它对我有用!谢谢!我想知道这是否与安装以前的 CTP 版本有关。
  • 你可以先导出键绑定,然后再恢复它们
  • 该命令行中的“>”符号是否正确?通过用反斜杠替换它对我有用。但是这个解决方案也对我有用!
  • 你会丢失所有插件。
  • 我有企业版(VS 2015)。这个版本有什么可能的解决方案吗?上述解决方案对我不起作用。
【解决方案3】:

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

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

然后正常关闭再重新打开。

【讨论】:

  • 它确实对我有用,值得一试。您不会丢失当前设置。
  • 这对我不起作用,该错误也出现在安全模式中(显然在以“标准”方式重新打开之后)。
  • 感谢您让我免于丢失设置!
  • 在我的 VS 2015 Enterprise 上工作
  • 太棒了!也为我工作。值得一试,我过去几次都把我的设置搞砸了。
【解决方案4】:

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

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

确保在列表中勾选“Windows 和 Web 开发”下的 “Microsoft Web 开发人员工具”

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

【讨论】:

【解决方案5】:

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

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

我曾尝试过 ResetUserData,但这对我不起作用。

【讨论】:

  • 它工作了,然后又回到不工作
  • 这对我来说不适用于 c#。但是,我进入文本编辑器 > C# 并选中/然后取消选中“隐藏高级成员”,然后按下确定,智能感知再次开始工作。
  • 这对我也有用,比重置我的环境要好得多!
  • 取消选中后一直被选中
  • 我遇到了一个问题,智能感知菜单会在瞬间弹出然后消失 - 这解决了这个问题,现在菜单按预期保持可见。
【解决方案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

...现在可以使用了!!!

【讨论】:

  • 这对我有用(完整版本)VS 2015 企业版
  • 有时这行得通,有时却不行。它为我修复了大约 5 分钟,然后它又开始发生了。
  • 这至少暂时解决了我的问题。它可能不会继续工作,但我们会看到。似乎是一个奇怪的错误,微软应该修复。 2015 年和 2017 年都有这个问题
【解决方案7】:

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

所以,如果您有类似的症状,以下是我在我的机器上修复它的方法:

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

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

【讨论】:

  • 为我工作! Visual Studio 2015 企业版。
  • 无需卸载“Productivity Power Tools 2015”即可为我工作。 Visual Studio 2015 企业版。
【解决方案8】:

如果您的项目是 MVC4,这将是效果。查看更多详情here。另请注意,这将在即将发布的版本中更正。
你怎么知道你的项目是否是 MVC4?打开 packages.config 并滚动到 Microsoft.AspNet.Mvc 的条目。如果列出的版本以“4”开头,则表示您使用的是 MVC 4。

【讨论】:

  • 这确实是我的问题,/resetuserdata 没有帮助:(
  • 欲了解更多信息:asp.net/mvc/overview/releases/…
  • 与MVC4无关。使用 MVC5 和 6 的项目仍然存在这些问题。
  • 这就是我最终发现的原因。我的项目是 MVC 3。VS 2015 不支持 MVC 3。我试过的其他方法都没有。
【解决方案9】:

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

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

希望有帮助!

【讨论】:

  • 这对我有用。我不得不手动删除 Razor-Server 文件夹中的一些项目,这些项目在编译过程中被锁定。
【解决方案10】:

有些观点对我来说很好,有些则根本不行......唯一对我有帮助的事情:

  • 关闭VS
  • 正在删除 C:\Users\%username%\AppData\Local\Temp
  • 重启VS
  • 问题已解决

我也尝试了大多数其他解决方案,但它们对我不起作用。

【讨论】:

    【解决方案11】:

    友情提醒,确保您在视图顶部正确使用了小写@model,而不是@Model(就像我做错了一样)。

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

    【讨论】:

      【解决方案12】:

      我通过将文件包含在项目/解决方案中来解决了这个问题。如果不包括在内,我会忽略没有突出显示/智能感知的事实。

      【讨论】:

        【解决方案13】:

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

        【讨论】:

        • 对我没有影响。 VS2015 专业版。
        • 我正在使用 VS2015 社区。您是否尝试过 Geir Sagbergs 解决方案?在 CMD 中运行:“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe”/ResetUserData
        • 是的。我已经在 StackOverflow 上的每个线程中尝试了所有解决方案。没有任何效果。我什至重新安装了 VS 和我的操作系统。
        • 如果你在重新安装后创建一个新的控制台项目,它不会在那里工作吗?
        【解决方案14】:

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

        Microsoft.AspNet.Mvc

        Microsoft.AspNet.WebPages

        Microsfot.AspNet.Razor

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

        【讨论】:

        • 这也适用于我,我有一个 MVC4 站点,我一直在 VS2013 中工作,因为在更新 1 之前缺乏支持。安装更新 1 后,它在 2015 年仍然无法工作,但是从 Nuget 卸载并重新安装软件包解决了这个问题。
        【解决方案15】:

        您应该只删除项目中的“.vs”文件夹。(.vs 文件夹已隐藏)

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

        【讨论】:

          【解决方案16】:

          唯一对我有用的是将项目的“输出路径”更改为bin\(以前是bin\Debug):

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

          【讨论】:

            【解决方案17】:

            上述方法不起作用,但我成功了:

            • 卸载(从 Windows 程序和功能)Web Developer Tools 用于 VS 2015、RC、更新 1
            • 正在安装(从 VS 安装程序 -> 修改)Web Developer Tools(这是上面的另一个版本)

            所以问题是 VS 安装程序没有安装 Web 开发工具,将已安装的不兼容版本识别为正确的版本。

            【讨论】:

              【解决方案18】:

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

              • 在 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 包。在包管理器控制台中,您可以运行以下命令:Update-Package。如果没有任何参数,它将更新每个包。
              • 更新应用程序和视图配置文件:
                1. 对于名称属性为“System.Web.Mvc”的所有元素,将版本号更改为新版本(在解决方案资源管理器中检查程序集版本,它必须等于或高于“5.0.0.0”)
                2. 对名称属性为 "System.Web.Helpers""System.Web.WebPages" 的所有元素执行相同操作。
                3. 检查程序集 "System.Web.Helpers""System.Web.Mvc""System.Web.WebPages" 的绑定重定向strong> 在配置文件中,“oldVersion”和“newVersion”必须符合上面所做的更改。
                4. 找到 appSettings 部分并将 webpages:version 从“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

              我希望这会有所帮助。

              【讨论】:

                【解决方案19】:

                一种非侵入性方法是检查您的 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" />
                

                【讨论】:

                  【解决方案20】:

                  对我有用的(VS 2015 社区)是this 答案中建议的选项。以管理员身份运行 cmd.exe,我运行了以下内容:

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

                  【讨论】:

                    【解决方案21】:

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

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-10-19
                      • 2022-12-21
                      • 2013-04-10
                      • 2020-04-11
                      • 1970-01-01
                      相关资源
                      最近更新 更多