【问题标题】:Visual Studio 2008 underlining non-error code in redVisual Studio 2008 用红色强调非错误代码
【发布时间】:2012-06-06 13:44:07
【问题描述】:

我在 Visual Studio 2008 中有一个大型 C# 项目,我的项目中有近一半带有红色下划线,其中大部分是“未声明的元素”;该项目编译、构建、调试和运行良好,没有错误。

我也可以输入一个合法的错误,它不会在错误下划线,例如,如果我写 strong.Format() 而不是 string.Format,它不会下划线 strong????,但它会在 string.Format 中的 Format 下划线并告诉我未声明的元素,这是没有意义的。

类似问题:

但他从未得到答案,这是 VS 2008 和 C#,而不是 VS 2010 和 C++

【问题讨论】:

  • 您是否正在运行 ReSharper 等插件?
  • 两次安装都出现同样的问题,一个在我的台式机上,一个在我的笔记本电脑上;笔记本电脑正在运行一堆扩展程序(但不是 resharper),而台式机没有运行任何扩展程序,它是全新安装。
  • 听起来像是 Visual Studio 的限制。 IMO 最好的方法是创建多个包含相关项目的解决方案,这样您就不必将这么多项目加载到一个解决方案中。
  • 偶尔在自己的代码上看到同样的问题。它在很大程度上是可以忽略的。我还注意到,如果我在页面上停留的时间足够长,它会经常自行修复。但并非总是如此,并且由于我没有费心寻找的某些因素,时间长度会有所不同。我只是接受它有点奇怪并继续我的生活=D
  • 我这里也有同样的问题!在具有少于 20 个源代码文件的单个项目的解决方案中,它错误地强调了简单的 C 代码。所以也许它不是对项目或文件等数量的限制。我注意到,在我的情况下,它发生在重新安装 Windows/VS 之后(之前发生过一个项目,在重新安装 Windows/VS 后只有 2 个源文件)。即使我将它重新安装在相同的目录中,问题仍然存在,但所有不正确的下划线仅与库函数和类型有关。但它仍然强调实际错误,例如如果我输入 Strong 而不是 String

标签: c# visual-studio-2008 syntax-error underline


【解决方案1】:

通常,当您运行 ReSharper 等工具时,您可能会遇到此问题。

如果您有一个复杂的项目并且它进入存在意外的 dll 或复杂的构建脚本的状态,它们通常依赖于您的 bin 目录中的缓存信息和 dll,这些脚本可以通过一些魔法来移动 dll 等。

我的建议是使用 VS clean 解决方案命令和 clear ReSharper 或任何其他代码分析工具缓存进行清理。

如果这不起作用,你可以去more indepth

【讨论】:

  • 完美,我有一个解决方案,现在已经被窃听了一年多了,在 vanilla 2008 安装上,并且深度选项是唯一修复它的东西!!!
【解决方案2】:

我曾多次遇到过这个问题,无论是单独使用 Visual Studio 还是使用 Resharper。在这两种情况下,我都能够通过删除整个项目并从版本控制中重新检查它来解决问题。假设您没有使用版本控制,这基本上意味着清除所有生成的文件,包括 .obj、.exe、.dll。和 .suo 文件。同时删除 Resharper 目录,假设您使用 Resharper。

(我假设您的源代码树中的所有可执行文件都已生成。显然,如果它们未生成,您不想删除它们。)

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,在我的情况下,它主要与库中定义的库函数和类型有关。这个为我修好了:

    打开命令行参数。您可以使用以下方式到达那里:

    Project > *ProjectName* Properties > Configuration Properties > Linker > Command Line

    在底部的附加选项框中添加 /I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"

    您当然需要安装 Visual Studio 的正确路径。根据需要添加尽可能多的路径,每个路径都有一个单独的/I

    宾果!我希望它也适合你。 :)

    此外,如果您创建任何新项目/解决方案,则无需将其添加到编译器选项中。它适用于新项目,或者至少对我来说是这样。典型的微软东西……:S

    【讨论】:

    • 赞成您的评论,这个解决方案实际上对我的 C++ 代码非常有效,但最初的问题是关于我的 C#/.NET 代码。真希望有办法为 .NET 解决这个问题
    猜你喜欢
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    相关资源
    最近更新 更多