Visual Studio编译正常,但仍显示红线(Visual studio compiles fine but still shows red lines)

I am using VS 2012 and it was working all fine until I started observing some funny behavior. When I open my code it shows red Underlines which we usually see when there is an error in our code. Surprisingly, code compiles all fine. I have made following observations that are not normal at all.

  1. Red Underlines in the code
  2. While cleaning or building the solution no error.
  3. red Underlines go away for some time after I build/clean the solution but comes back eventually.
  4. Because of this my intellisense stopped working.
  5. I can not right click to any component and go to its definition.

Any ideas?

https://stackoverflow.com/questions/21098333/visual-studio-compiles-fine-but-still-shows-red-lines

Visual studio compiles fine but still shows red lines

我正在使用VS 2012,在我开始观察到一些有趣的行为之前,它一直运行良好。 当我打开代码时,它会显示红色的下划线,当代码中有错误时,通常会看到这些下划线。 出人意料的是,代码可以很好地进行编译。 我做出了以下不正常的观察。

  • 代码中的红色下划线
  • 在清洁或构建溶液时没有错误。
  • 在我构建/清洁解决方案后,红色下划线消失了一段时间,但最终又回来了。
  • 因此,我的智慧停止了工作。
  • 我不能右键单击任何组件并转到其定义。

有任何想法吗?

  • 下划线显示什么代码? 你能提供例子吗?
  • 您是否正在运行旧代码? 尝试一个显示某些内容的小型实现,如果什么也没发生,则可能是在运行旧代码。
  • 您是否正在运行Reshaper或其他任何可能要强调以下内容的工具?
  • 这是所有代码文件上的吗? 当我打开一个不是我的解决方案中的文件时,发生在我身上的事一次,无法进入定义将它交给了我。

Visual Studio 2017:

关闭Visual Studio并删除解决方案目录中的.vs文件夹对我来说很有效。

此文件夹具有hidden属性。您可能需要在文件夹选项中更改设置以显示隐藏文件。

  • 对于VS 2017,此解决方案可以在此页面上的其他解决方案都无法做到的地方工作(例如清理临时文件夹以及清理/ bin和/ obj)。提到的.vs在我的系统上没有被"隐藏"(例如,我的.git文件夹当然是,所以我可以分辨出区别)。
  • 这也解决了我在VS 2015中的问题
  • 删除仅.suo文件(位于.vs文件夹中)也可以
  • 这也解决了我在VS 2017中的问题
  • 我尝试删除.suo文件,但是当我重新启动VS 2017时会再次重新创建它
  • @AmitKulat是的.suo文件是由Visual Studio创建的结构化存储,它包含许多设置。由于某些错误,它无法正常工作。因此,将其删除时,将使用正确的默认设置重新创建它。
  • @AmitKulat通常,删除.suo就足够了,但并非总是如此。删除整个.vs(包含.suo)更为"有力"。是的,当您重新打开解决方案时,将重新创建.vs。
  • "不受支持...此版本的Visual Studio无法打开以下项目..."-删除.vs目录后,弹出窗口相当令人心碎。但它看起来是良性的。单击"确定",然后在迁移报告后仍然打开解决方案。在删除.vs之前,这可能是一个不相关的潜在问题。为了后代在这里报告。
  • 这也适用于Visual Studio 2019(预览。删除.vs文件夹)
  • 完美的解决方案
  • 我有相同/相似的问题。项目中显然有一个类,但是Visual Studio无法用颜色编码识别,并且对该类的每个引用都显示为错误(即使编译良好)。删除隐藏的.vs文件夹就可以了。

删除临时ASP.NET文件夹的内容,然后重新生成。它将位于您的用户文件夹(对于IIS Express- AppData Local Temp Temporary ASP.NET文件)或Windows目录(对于IIS-C: Windows Microsoft.Net Framework vx.xx 临时ASP.NET文件)

路径不在我的头上,可能不正确

  • 或者,如果这只是影响一个项目/解决方案,并且您使用git并使用适当的临时文件忽略适当的临时文件,请尝试提交更改,删除工作副本并强制签出您的分支。
  • 如果错误是在Visual Studio for Mac中怎么办?该文件夹的路径是什么?
  • 我需要关闭并打开VS之后,它才能工作。谢谢

使用在Visual Studio 2012中创建但在2013年运行的解决方案时遇到了这个问题。我关闭了Visual Studio,删除了所有 bin和 obj目录,该问题消失了。


我知道这很旧,但如果人们像我从Google那样找到此线程,就可以了。解决了svn的一些冲突后,我遇到了这个问题。该解决方案中包含多个项目,我解决了几个不同项目中的一些冲突。我做了一个Build-> Clean Solution,然后是Build-> Rebuild Solution,一切都恢复了。


对我来说,这个问题在我再次卸载并重新加载项目时得到了解决。我为我工作,希望它也对您有用:)


您是否安装了像resharper这样的插件?我的插件有问题。

尝试以安全模式运行Visual Studio,以防止插件运行。

1
devenv /Safemode
  • 如果您使用的是Resharper,则更新应该可以解决问题,发生在我身上...
  • 我正在使用Resharper。您可以使用工具->选项-> ReSharper中的挂起按钮来禁用ReSharper。然后恢复它,它对我有所帮助。

我遇到了这个问题,它与ReSharper有关。

为我解决的步骤:

1)禁用ReSharper

1
2
VisualStudioToolsOptions
eSharper UltimateGeneralSuspend Now

2)建立解决方案

1
(Ctrl-Shift-B)

3)重新启用ReSharper

1
2
3
VisualStudioToolsOptions
eSharper UltimateGeneral
esume Now

史蒂夫

  • 为我工作。是。 ReSharper是问题所在。

如果您像我一样使用Resharper,则可以通过以下链接删除resharper缓存:https://www.jetbrains.com/help/resharper/Configuring_Caches_Location.html

1
2
3
4
5
6
7
8
9
10
11
To specify the location for caches

1Open the Environment | General page of ReSharper options.
2Use the Save solution caches in to select the location for cache files:
3User local settings folder to store them in the following directory%LOCALAPPDATA%JetBrainsTransient
4.System TEMP folder to store them in the following directory%TEMP%
eSharperCache
5Solution folder to store them in the root folder of the current solution
6Custom folder to choose a custom location for ReSharper cache files.
7Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down listFor more information, see managing and sharing resharper settings.
8Reopen your solution for the changes to take effect.
  • 环境|清除缓存按钮。 ReSharper选项的常规页面解决了我的问题。谢谢你的提示!

在vs2013中,我通过删除所有项目中的所有obj / bin文件夹解决了此问题。这个问题可能是由于我删除了解决方案配置,但是没有正确清理,因为执行Build-> Clean Solution不会从obj / bin文件夹中删除旧的输出。


这在Visual Studio Enterprise 2017中对我有用:

  • 导航到工具>选项>文本编辑器> JavaSCript / TypeScript> Linting>常规

  • 取消选择"启用ESLint"

  • 经过数天的研究,卸载/加载项目以及删除许多.vs文件夹,这是我遇到问题的根本原因,因此我认为这是一个有效的答案。

对我有用的是删除IntelliSense索引文件。

IntelliSense文件与您的解决方案位于同一目录中。

它的文件名是SolutionName.sdf

只需删除此文件,然后再次打开您的解决方案,IntelliSense将开始重建其索引文件。之后,问题将消失。


只需刷新项目/解决方案。它将解决。


我也遇到了这个问题,并且可以通过执行以下操作将Visual Studio恢复到正常状态-

  • 标识红线代码来自的项目
  • 从正在使用的引用中删除红线项目(ProjectName references-右键单击,添加引用,取消选中红线项目)
  • 构建(您现在应该得到错误)
  • 重新添加刚刚删除的项目引用
  • 再建一次
  • 红线应该删除,项目应该建立!
  • 这对我有用,谢谢!

我在最新的Visual Studio 2017中遇到了这个问题。
另外,我程序的调试版本运行缓慢。

我删除了解决方案文件.sln并创建了一个新文件。


就VS 2017而言,我在第三方库中定义的所有符号下方都有许多"红线"显示,但我的项目实际上可以毫无问题地构建。我已经尝试了所有建议的解决方案(例如删除.VS文件夹,重新启动VS等),但是它们都不起作用。

最后,我修复了它,这是这样的:打开我的应用程序项目的属性页,然后转到" C / C ++->常规->其他包含目录",在该位置放置了所有必需的第三方库标头路径。我删除了所有路径(但是将它们保存在某处),单击"确定"进行确认。然后我回到相同的设置,将这些路径粘贴回去,单击"确定"确认,然后所有这些"红线"消失。


可行的步骤

  • 打开解决方案并重新构建所有
  • 封闭解决方案
  • 打开解决方案并进行清洁
  • 封闭解决方案
  • 打开解决方案并重新构建所有
  • 关闭然后打开解决方案,它应该很好。每次都对我有用

小心删除其中的一些设置文件,因为您将丢失已保存的调试设置等,并且可能会造成比您预期更大的损害


也许补充已经太晚了,但希望它仍然可以对某人有所帮助。当我在几个文件中看到很多红色花形时,我遇到了类似的问题。我尝试了上面提出的所有答案,但似乎没有任何效果。当我开始浏览类,其他文件中引用了抱怨文件的结构时,问题消失了。似乎intellisense出于某种原因无法自行解决依赖关系。

  • 我没有在您的答案中找到解决方案。"看来intellisense无法自行解决依赖关系..."-您是说"通过浏览类,结构"来帮助intellisense解决依赖关系吗?
  • @Sна?ош?а?我认为这正是他的意思。
  • @RobertColumbia对OP没有冒犯,但我认为那太荒谬了。
  • @Sна?ош?а?嗯,这就是他在说的。如果您认为该策略没有帮助,请否决答案。
  • @Sна?ош?а?好吧,我到达邮局是因为我也遇到了同样的问题。首先,在发布对我有用的内容之前,我尝试了所有答案,就像其他人也根据那里的经验回答了。我没有发现任何问题。相反,它可能也会对其他人有所帮助。
  • 我面临着同样的问题,这是它得到解决的唯一方法。 VS索引完成后,所有包含都无法解析。然后我开始打开一些文件,VS似乎找到了我正在处理的类的正确位置。附带说明,我正在与CMAKE一起进行一个大型项目。

我在几个* cpp源文件中有很多红线时也遇到了同样的问题。虽然代码编译完美。没有其他解决方案对我有用。

更改* .cpp文件的#include行的顺序可能会使红线消失-并以恢复的顺序重新打包。

然后,我注意到在一个* .cpp文件中两次包含了一个头文件。我删除了第二个-一切都很好。

在同一* .cpp文件中包含两次头文件似乎对编译器没有问题,但对intellisense部分却没有问题。


对我来说,我一次启用了融合日志记录功能来调试一些程序集相关性错误(CMD提示符下的Fuslogvw)。那是几个月前,从那时起,我的构建时间就慢得多(5-7分钟)。我也完全忘记了让他们启用。这些日志是我的瓶颈,禁用它们使迭代变得更快。希望这对某人有帮助!

原文地址:https://www.cnblogs.com/honk/p/13813285.html