Visual Studio 2017 没有突出显示错误

Visual Studio 2017 not highlighting errors

我最近从 Visual Studio 2012 升级到 2017(更新到版本 15.3.5)并且 IDE.

有一些问题

在某个项目中,我没有得到错误的下划线。

并且在“错误列表”窗格中,"Build Only" 实际上比 "Build + IntelliSense"

显示 更多 信息

此外,选择 "Build + IntelliSense" 后,我只能在输出 window 中看到编译器错误。这是构建失败后的错误列表

但是输出 window 是这样的:

3>------ Build started: Project: ..., Configuration: Debug Any CPU ------
3>C:\Checkout...\MainForm.vb(454,27): error BC30311: Value of type 'Module1.aClass' cannot be converted to 'Module1.bClass'.

并非所有项目都会出现这种情况。我做了一个新项目,看看我是否可以重现,但我不能。这是一个具有相同代码的新项目,其中错误在代码中带有下划线并且 "Build + IntelliSense" 有效。

我什至对 vbproj 文件中的 xml 和 "diffed" 有问题的项目与新项目进行了排序,没有明显的差异会导致这种情况。两者都引用相同的编译器。这两个项目都以 .Net 4.6.2 为目标,并设置为仅针对 x86 进行编译。有问题的项目引用了一些其他项目(C# 和 VB.Net)以及第三方 dll 和 nuget 包。除了这些区别,没有别的了。

违规项目解决方案中的其他项目(C# 和 VB.Net)工作正常。

我在网上看到过类似的问题,但没有任何修复对我有用。我在安装程序中尝试了 "Repair" 选项。然后我卸载了 Visual Studio 并重新安装。

更新:

更改目标框架似乎有一些效果。有这个行为的项目是针对 4.6.2 并且没有显示错误,当它更改为 4.7 时,它显示编译错误。然后改回 4.5 它显示错误。然后改回 4.6.2 它没有显示错误。重复这个过程被证明是不可重复的。 4.7、4.5、4.6、4.6.2 - 无论如何,现在都没有显示错误。

link 这个 Microsoft 页面 https://developercommunity.visualstudio.com/content/problem/7759/no-errors-displayed-in-the-error-list.html 也很重要,因为许多其他人似乎也有类似的问题。

我已经解决了这个问题,至少在我的解决方案中是这样。

我在研究项目引用,发现当一个特定的项目没有被另一个项目引用时,我会得到错误的下划线。我经历了一个更改框架版本目标的过程,直到一切正常。

我之前的所有项目都以 .NET 4.6.2 为目标。通过在所有项目上以 4.7 为目标,我现在在错误 window.

中得到正确的错误下划线和报告

我不确定这是否适合所有人,我需要做一些额外的工作才能将我的项目部署到生产环境中,但我可以接受。

我想这与使用 Visual Studio 2012 并升级到 2017 的目标 4.6.2 有关。可能某些设置不正确 if/when 项目已升级。