我最近从 Visual Studio 2012 升级到 2017(更新到版本 15.3.5),并且 IDE 出现一些问题。
在某个项目中,我没有得到错误下划线。
在错误列表窗格中,“仅构建”实际上显示more比“Build + IntelliSense”更多的信息
另外,选择“Build + IntelliSense”后,我只能在“输出”窗口中看到编译器错误。这是构建失败后的错误列表
但输出窗口有这个:
3>------ 构建开始:项目:...,配置:调试任何 CPU ------
3>C:\Checkout...\MainForm.vb(454,27):错误BC30311:“Module1.aClass”类型的值无法转换为“Module1.bClass”。
并非所有项目都会发生这种情况。我做了一个新项目来看看我是否可以重现,但我不能。这是一个具有相同代码的新项目,其中错误在代码中带有下划线,并且“Build + IntelliSense”有效。
我什至对 vbproj 文件中的 xml 进行了排序,并“区分”了有问题的项目与新项目,并且没有明显的差异会导致这种情况。两者都引用相同的编译器。这两个项目都以 .Net 4.6.2 为目标,并设置为仅针对 x86 进行编译。违规项目引用了一些其他项目(C# 和 VB.Net)以及第三方 dll 和 nuget 包。除了这些差异之外,没有其他的了。
违规项目解决方案中的其他项目(C# 和 VB.Net)工作正常。
我在网上看到过类似的问题,但没有解决办法对我有用。我已经尝试过安装程序中的“修复”选项。然后我卸载了 Visual Studio 并重新安装。
Update:
改变目标框架似乎有一些效果。具有此行为的项目以 4.6.2 为目标,并且没有显示任何错误,而当它更改为 4.7 时,它显示编译错误。然后改回4.5就显示错误了。然后改回4.6.2,没有显示任何错误。重复这个过程被证明是不可重复的。 4.7、4.5、4.6、4.6.2 - 不管怎样,现在都没有显示错误。
链接此 Microsoft 页面也很重要https://developercommunity.visualstudio.com/content/problem/7759/no-errors-displayed-in-the-error-list.html https://developercommunity.visualstudio.com/content/problem/7759/no-errors-displayed-in-the-error-list.html因为许多其他人似乎也有类似的问题。