Visual Studio编译正常,但仍显示红线


96

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

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

有任何想法吗?


下划线显示什么代码?你能提供例子吗?
2014年

您是否正在运行旧代码?尝试一个显示某些内容的小型实现,如果什么也没发生,则可能是在运行旧代码。
2014年

您是否正在运行Reshaper或其他任何可能要强调以下内容的工具?
AlG 2014年

这是所有代码文件上的吗?当我打开一个不是来自解决方案的文件时,它就发生了。
皮埃尔·卢克·皮诺

Answers:


48

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

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


或者,如果这仅影响一个项目/解决方案,并且您使用的git带有适当的临时文件忽略项,请尝试提交更改,删除工作副本并强制检出分支。
凯尔(Kyle)2015年

3
如果错误是在Visual Studio for Mac中怎么办?该文件夹的路径是什么?
丢失

1
我需要关闭并打开VS之后,它才能工作。谢谢
MusicAndCode '18年

166

Visual Studio 2017:

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

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


2
对于VS 2017,此解决方案可以在此页面上的其他解决方案都无法做到的地方工作(例如清理临时文件夹以及清理/ bin和/ obj)。如前所述,.vs并未“隐藏”在我的系统上(而我的.git文件夹当然是,所以我可以分辨出区别)。
secretwep

1
我试图删除文件名为.suo,但是当我重新启动VS 2017年它被重建再次
阿米特Kulat

3
@AmitKulat是的,.suo文件是由Visual Studio创建的结构化存储,它包含许多设置。由于某些错误,它无法正常工作。因此,将其删除时,将使用正确的默认设置重新创建它。
VeganHunter

4
“不支持...此版本的Visual Studio无法打开以下项目...” -删除.vs目录后,弹出窗口相当令人心碎。但它看起来是良性的。单击“确定”,然后在迁移报告后仍然打开解决方案。在删除.vs之前,这可能是一个不相关的问题,它一直处于休眠状态。为后代报告。
鲍勃·斯坦

3
这也适用于Visual Studio 2019(预览。删除.vs文件夹)
Albert Romkes

10

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


9

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


7

我知道这很旧,但万一人们发现了这个线程,就像我从Google那里找到的一样。解决了svn的一些冲突后,我遇到了这个问题。该解决方案中包含几个项目,我解决了几个不同项目中的一些冲突。我做了一个构建->清洁解决方案,然后进行了构建->重建解决方案,一切都变好了。


7

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

为我解决的步骤:

1)禁用ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Suspend Now

2)建立解决方案

(Ctrl-Shift-B)

3)重新启用ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Resume Now

史蒂夫


为我工作。是。ReSharper是问题所在。
穆罕默德·萨奇布

6

您是否有安装任何类似resharper的插件?我的插件有问题。

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

devenv /Safemode

10
我正在使用Resharper。您可以使用工具->选项-> ReSharper中的挂起按钮来禁用ReSharper。然后恢复它,它对我有所帮助。
Oleg Kyrylchuk 2014年

5

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

To specify the location for caches

1. Open the Environment | General page of ReSharper options.
2. Use the Save solution caches in to select the location for cache files:
3. User local settings folder to store them in the following directory: %LOCALAPPDATA%\JetBrains\Transient
4.System TEMP folder to store them in the following directory: %TEMP%\ReSharperCache
5. Solution folder to store them in the root folder of the current solution
6. Custom folder to choose a custom location for ReSharper cache files.
7. Click 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 list. For more information, see managing and sharing resharper settings.
8. Reopen your solution for the changes to take effect.

“环境”上的“清除缓存”按钮| ReSharper选项的常规页面解决了我的问题。谢谢你的提示!
nilsK

3

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


1

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

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

它的文件名是SolutionName.sdf

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


1

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

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

  2. 取消选择“启用ESLint”


1
经过几天的研究,卸载/加载项目以及许多.vs文件夹删除,这是我遇到问题的根本原因,因此我认为这是一个有效的答案。愿有人在某处保佑你,我的儿子。
Nandolcs

1

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

  1. 标识红线代码来自的项目
  2. 从正在使用的引用中删除红线项目(ProjectName \ References-右键单击,添加引用,取消选中红线项目)
  3. 构建(您现在应该得到错误)
  4. 重新添加刚刚删除的项目引用
  5. 再建一次
  6. 红线应该删除,项目应该建立!

1

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

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

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

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


0

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


3
您的答案没有找到解决方案。“这似乎智能感知无法解析的依赖于自己的......” -你说“通过浏览类,结构”智能感知解决依赖性?
2016年

4
@Sнаđошƒаӽ我认为这正是他的意思。
罗伯特·哥伦比亚

@RobertColumbia OP并不冒犯,但我认为这很荒谬。
2016年

@Sнаđошƒаӽ好,这就是他的意思。如果您认为该策略无济于事,请否决答案。
罗伯特·哥伦比亚

@Sнаđошƒаӽ好吧,我到达邮局是因为我也面临着同样的问题。首先,在发布对我有用的内容之前,我尝试了所有答案,就像其他人也根据那里的经验所回答的那样。我没有发现任何问题。相反,它可能也会对其他人有所帮助。
irsis

0

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


0

我在最新的Visual Studio 2017中遇到了这个问题。
程序的调试版本运行速度也很慢。

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


0

可行的步骤

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

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



0

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

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


0

找到了这个解决方案:

  1. 关闭Visual Studio(确保在任务管理器中没有devenv.exe)。
  2. 删除 %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCache目录。
  3. 重新启动Visual Studio。

0

我这个问题已经好几个月了,终于解决了。关闭Visual Studio并删除解决方案目录中的.vs文件夹对我而言不起作用。

web.config中有一个assemblyIdentity标记,该标记引用的是我的引用文件夹中没有的库。我删除了此标签,对其进行了清洁,关闭和重新打开,此问题已得到解决。

  1. 检查web.config中的每个assemblyIdentity标记,并根据解决方案资源管理器中的references文件夹进行检查
  2. 删除所有assemblyIdentity标记,包括未在您的引用文件夹中列出的任何父标记的dependentIssembly标记。
  3. 清洁溶液
  4. 关闭并重新打开解决方案
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.