Visual Studio 编译正常,但仍显示红线
Posted
技术标签:
【中文标题】Visual Studio 编译正常,但仍显示红线【英文标题】:Visual Studio compiles fine, but it still shows red lines 【发布时间】:2014-02-01 14:45:06 【问题描述】:我正在使用 Visual Studio 2012,它运行良好,直到我开始观察到一些有趣的行为。当我打开我的代码时,它会显示红色 Underlines,我们通常会在代码中出现错误时看到它。令人惊讶的是,代码编译得很好。我做了以下完全不正常的观察。
-
代码中的红色下划线
在清理或构建解决方案时没有错误。
红色下划线在我构建/清理解决方案后会消失一段时间,但它们最终会回来。
因此,我的 IntelliSense 停止工作。
我无法右键单击任何组件并转到其定义。
有什么想法吗?
【问题讨论】:
什么代码显示下划线?你能提供例子吗? 您是否正在运行旧代码?尝试一个显示某些内容的小型实现,如果没有任何反应,您可能正在运行旧代码。 您是否正在运行 Reshaper 或任何其他可能会产生下划线的工具? 所有代码文件都这样吗?当我打开一个不是来自我的解决方案的文件时,它发生在我身上,无法转到定义给我。 【参考方案1】:Visual Studio 2017:
关闭 Visual Studio 并删除位于解决方案目录中的 .vs
文件夹对我有用。
此文件夹具有hidden
属性。您可能需要更改文件夹选项中的设置以显示隐藏文件。
【讨论】:
对于 VS 2017,此解决方案适用于此页面上的其他解决方案(如清理临时文件夹和清理 /bin 和 /obj)。如前所述,.vs 并没有在我的系统上“隐藏”(例如,我的 .git 文件夹当然是,所以我可以分辨出来)。 我尝试删除 .suo 文件,但当我重新启动 VS 2017 时它又重新创建了 @AmitKulat 是的,.suo 文件是由 Visual Studio 创建的结构化存储,它包含一堆设置。由于一些错误,它停止正常工作。因此,当您删除它时,它将使用正确的默认设置重新创建。 “不支持...此版本的 Visual Studio 无法打开以下项目...” — 删除 .vs 目录后弹出一个相当令人心碎的窗口。但它看起来是良性的。单击“确定”,解决方案在迁移报告后仍然打开。这可能是一个不相关的问题,在 .vs 被删除之前一直处于休眠状态。在这里报告后代。 这也适用于 Visual Studio 2019(预览版。删除 .vs 文件夹)【参考方案2】:删除临时 ASP.NET 文件夹的内容,然后重新生成。它将位于您的用户文件夹(对于 IIS Express - \AppData\Local\Temp\Temporary ASP.NET Files)或 Windows 目录(对于 IIS - C:\Windows\ Microsoft.Net\Framework\vx.xx\Temporary ASP.NET Files)
路径不在我的脑海中,可能不正确
【讨论】:
或者,如果这只是影响一个项目/解决方案,并且您正在使用 git 并适当忽略临时文件,请尝试提交更改,删除工作副本并强制签出您的分支. 如果 Visual Studio for Mac 中出现错误怎么办?这个文件夹的路径是什么? 我需要在之后关闭并打开 VS 并且它可以工作。谢谢【参考方案3】:对我来说,当我再次卸载并重新加载项目时,这个问题得到了解决。
【讨论】:
【参考方案4】:在使用在 Visual Studio 2012 中创建但在 2013 年运行的解决方案时遇到了这个问题。我关闭了 Visual Studio,删除了所有 \bin 和 \obj 目录,问题就消失了。
【讨论】:
【参考方案5】:在解决了Subversion (SVN) 的一些冲突后,我遇到了这个问题。该解决方案中有几个项目,我解决了几个不同项目中的一些冲突。我做了一个菜单 Build → Clean Solution,然后是一个男人 Build → Rebuild Solution,一切都很好了。
【讨论】:
【参考方案6】:我遇到了这个问题,它与 ReSharper 有关。
我的解决方法:
禁用 ReSharper
VisualStudio\Tools\Options\ReSharper Ultimate\General\立即暂停
构建解决方案
(Ctrl + Shift + B)
重新启用 ReSharper
VisualStudio\Tools\Options\ReSharper Ultimate\General\立即恢复
【讨论】:
为我工作。是的。 ReSharper 是问题所在。 Suspend Now 解决了这个问题。立即恢复 - 问题又出现了。【参考方案7】:您是否安装了任何插件,例如ReSharper?我遇到了一个坏插件的问题。
尝试在安全模式下运行 Visual Studio,以防止插件运行。
devenv /Safemode
【讨论】:
我使用的是 Resharper。您可以使用菜单工具 -> 选项 -> ReSharper 中的暂停按钮禁用 ReSharper。然后恢复它,它对我有帮助。【参考方案8】:如果您像我一样使用 ReSharper,您可以通过以下链接删除 ReSharper 缓存:Configure Caches
指定缓存的位置:
-
打开环境 → ReSharper 选项的常规页面。
使用 Save solution caches in 选择缓存文件的位置:
用户本地设置文件夹将它们存储在以下目录中:%LOCALAPPDATA%\JetBrains\Transient
4.System TEMP文件夹将它们存储在以下目录中:%TEMP%\ReSharperCache
解决方案文件夹将它们存储在当前解决方案的根文件夹中
自定义文件夹为 ReSharper 缓存文件选择自定义位置。
单击保存以应用修改并让 ReSharper 选择保存位置,或使用保存到下拉列表将修改保存到特定设置层。有关详细信息,请参阅管理和共享 ReSharper 设置。
重新打开您的解决方案以使更改生效。
【讨论】:
环境中的“清除缓存”按钮 | ReSharper 选项的常规页面解决了我的问题。不过感谢您的提示!【参考方案9】:在 Visual Studio 2013 中,我通过删除所有项目中的所有 obj 和 bin 文件夹解决了这个问题。问题可能是由于我删除了解决方案配置,但我没有正确清理,因为执行菜单 Build → Clean Solution 不会删除obj 和 bin 文件夹的旧输出。
【讨论】:
【参考方案10】:对我有用的是删除 IntelliSense 索引文件。
IntelliSense 文件与您的解决方案位于同一目录中。
它的文件名是SolutionName.sdf
只需删除此文件,再次打开您的解决方案,IntelliSense 将开始重建其索引文件。之后问题就会消失。
【讨论】:
【参考方案11】:这在 Visual Studio Enterprise 2017 中对我有用:
导航到工具 > 选项 > 文本编辑器 > javascript/TypeScript > Linting > 常规
取消选择“启用 ESLint”
【讨论】:
经过几天的研究、卸载/加载项目和许多 .vs 文件夹的删除,这是我的问题的根本原因,所以我认为这是一个有效的答案。愿某人在某处保佑你,我的儿子。【参考方案12】:我也遇到过这种情况,并且能够通过执行以下操作将 Visual Studio 恢复到正常状态 -
-
确定红线代码的来源项目
从正在使用的引用中删除“红线”项目(ProjectName\References - 右键单击,添加引用,然后取消选中“红线”项目)
构建(您现在应该得到错误)
读取刚刚删除的项目参考
再次构建
应该移除红线,并且应该构建项目!
【讨论】:
【参考方案13】:我在几个 *cpp 源文件中有很多红线也有同样的问题。虽然代码编译得很好。其他解决方案都不适合我。
更改 *.cpp 文件的 #include 行的顺序可能会使红线消失 - 并以恢复的顺序重新出现。
然后我注意到一个头文件在一个 *.cpp 文件中包含两次。我删除了第二个 - 一切都很好。
在同一个 *.cpp 文件中包含两次头文件似乎对编译器没有问题,但对 IntelliSense 部分而言。
【讨论】:
【参考方案14】:有效的步骤
-
打开解决方案并全部重建
关闭解决方案
打开解决方案并进行清理
关闭解决方案
打开解决方案并全部重建
关闭然后打开解决方案。应该不错。这对我每次都有效
小心删除其中一些设置文件,因为您将丢失已保存的调试设置等。它可能造成的损害比您想象的要大。
【讨论】:
你能比“全部重建”和“清理”更具体吗?具体应该怎么做呢?您可以添加应该调用的确切菜单命令等(或至少提供一些提示)吗?但是没有“编辑:”、“更新:”或类似的 - 答案应该看起来好像是今天写的。【参考方案15】:我在使用最新的 Visual Studio 2017 时遇到了这个问题。 此外,我的程序的调试版本运行缓慢。
我删除了解决方案文件.sln
并创建了一个新文件。
【讨论】:
您必须将多少文件添加到新的解决方案文件中?【参考方案16】:当我在几个文件中看到很多红色曲线时,我遇到了类似的问题。我尝试了之前提出的所有答案,但似乎没有任何效果。
当我开始浏览抱怨文件引用的其他文件中的类和结构时,问题就消失了。由于某种原因,IntelliSense 似乎无法自行解决依赖关系。
【讨论】:
我在您的回答中没有看到解决方案。 “似乎智能感知无法自行解决依赖关系...” - 你是在说 “浏览类、结构” 你 帮助智能感知解决依赖关系? @Sнаđошƒаӽ 我认为这正是他所说的。 @RobertColumbia 没有冒犯 OP,但我认为这很荒谬。 @Sнаđошƒаӽ 这就是他的意思。如果您认为该策略没有帮助,请对答案投反对票。 @Sнаđошƒаӽ 好吧,我发帖是因为我也面临同样的问题。首先,在发布对我有用的方法之前,我尝试了所有答案,就像其他人也根据那里的经验回答了一样。我看不出有什么问题。相反,它也可能对其他人有所帮助。【参考方案17】:对我来说,我曾经启用融合日志记录来调试一些程序集依赖错误(fuslogvw 来自 CMD 提示符)。那是几个月前的事了,从那时起我的构建时间(5-7 分钟)就慢了很多。
我也完全忘记了我已启用它们。这些日志是我的瓶颈,禁用它们可以加快迭代速度。
【讨论】:
【参考方案18】:只需刷新项目/解决方案。会解决的。
【讨论】:
究竟如何?刷新在什么意义上?您可以在答案中添加说明(操作方法)吗?但是没有“编辑:”、“更新:”或类似的 - 答案应该看起来好像是今天写的。【参考方案19】:在我使用 Visual Studio 2017 的情况下,我在第三方库中定义的所有符号下方显示了许多“红线”,但我的项目实际上可以毫无问题地构建。我已经尝试了所有建议的解决方案(如删除 .VS 文件夹、重新启动 Visual Studio 等),但都没有工作。
最后,我修复了它,方法如下:打开应用程序项目的属性页,然后转到 C/C++ → 常规 → 附加包含目录,这是我放置所有需要的第三方库头路径的地方。
我删除所有路径(但将它们保存在某处),单击“确定”确认。然后我回到相同的设置,将那些路径粘贴回来,单击“确定”确认,然后所有那些“红线”消失。
【讨论】:
【参考方案20】:我有带 ReSharper 的 VS2019,遇到了这个问题。
对我有用的是:
转到 ReSharper >> 选项菜单 转到“常规”选项卡(应该是默认选项) 按“清除缓存”按钮 关闭 Visual Studio (2019) 的所有实例 重启 Visual Studio【讨论】:
【参考方案21】:找到了这个解决方案:
-
关闭 Visual Studio(确保任务管理器中不存在 devenv.exe)。
删除
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCache
目录。
重新启动 Visual Studio。
【讨论】:
【参考方案22】:我遇到这个问题好几个月了,终于解决了。关闭 Visual Studio 并删除位于解决方案目录中的 .vs
文件夹对我不起作用。
web.config 文件中有一个 assemblyIdentity 标签,它引用了一个不在我的引用文件夹中的库。我删除了这个标签,清理,关闭并重新打开,问题就解决了。
-
检查您的 web.config 文件中的每个 assemblyIdentity 标记,并对照解决方案资源管理器中的引用文件夹检查它们
删除所有 assemblyIdentity 标记,包括您的引用文件夹中未列出的任何组件的父dependentAssembly 标记。
清洁溶液
关闭并重新打开解决方案
【讨论】:
【参考方案23】:删除 .vs 文件夹对我有用。
【讨论】:
考虑在旧帖子中阅读其他人的答案。你可以投票this answer,这是 Stack Overflow 表达感谢的方式。而不是发布重复。【参考方案24】:对我来说这是可行的:-
-
打开命令面板 ctrl+⇧+p
然后输入:
reload Window
。
【讨论】:
这很可能是 Visual Studio Code 命令,而不是 Visual Studio以上是关于Visual Studio 编译正常,但仍显示红线的主要内容,如果未能解决你的问题,请参考以下文章
跪求一道AutoCAD2008用visual studio2005二次开发的题目答案!!悬赏分多多的!!
visual studio 报表 line is too long 的解决
如何在 Visual Studio 2015 中快速解析命名空间