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) 的一些冲突后,我遇到了这个问题。该解决方案中有几个项目,我解决了几个不同项目中的一些冲突。我做了一个菜单 BuildClean Solution,然后是一个男人 BuildRebuild 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 中,我通过删除所有项目中的所有 objbin 文件夹解决了这个问题。问题可能是由于我删除了解决方案配置,但我没有正确清理,因为执行菜单 BuildClean Solution 不会删除objbin 文件夹的旧输出。

【讨论】:

【参考方案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 中快速解析命名空间

Visual Studio 编译信息细度显示设置

为啥我的visual stdio 2010连错误程序也能编译成功。。。。

Visual Studio 无法编译