2017-10-05 108 views
3

我最近从Visual Studio 2012升级到2017(已更新至15.3.5版)并且在IDE中遇到了一些问题。Visual Studio 2017不会突出显示错误

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

enter image description here

,并在错误列表窗格中, “只构建” 真实地反映了比 “生成+智能感知”

enter image description here

而且更多信息,以选择 “生成+智能感知” ,我只能在Output窗口看到编译器错误。这里是一个构建失败

enter image description here

,但在输出窗口后的错误名单如下:

3> ------构建开始:项目:...,配置:调试任何CPU ------
3> C:\ Checkout ... \ MainForm.vb(454,27):错误BC30311:类型'Module1.aClass'的值无法转换为'Module1.bClass' 。

这不会发生在所有项目上。我做了一个新项目,看看我能不能复制,但我做不到。这是一个新代码相同的项目,其中代码中的错误以及“Build + IntelliSense”的工作原理是错误的。

enter image description here

我甚至分类保存在vbproj文件的XML和“显示差异”违规项目VS新的项目,并没有明显的差别,这将导致这一点。两者都引用相同的编译器。这两个项目均以.Net 4.6.2为目标,并且仅针对x86进行编译。该违规项目引用了一些其他项目(C#和VB.Net)以及第三方dll和nuget包。除了这些差异之外别无他法。

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

我在网上看到过类似的问题,但没有修复工作。我已经尝试了安装程序中的“修复”选项。然后,我卸载Visual Studio并重新安装。

更新:

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

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

+0

非常奇怪的行为...看起来像一个bug给我。你有没有在同一个VS版本的另一台电脑上试过有问题的项目? - 如果我是你,我会[向微软写一个错误报告](https://connect.microsoft.com/VisualStudio),将该项目附加到它。 –

+0

我用Visual Studio 2012中的代码创建了一个新项目,然后使用Visual Studio 2017对其进行更新,但无法重现此问题。所以这个问题似乎与您的项目更相关,如何在您的解决方案中使用上面的代码创建一个新项目,检查它是否正常工作?尝试删除.vs文件。 –

+0

没有repro,但我避免安装更新。特别是15.3.x的更新已经产生了大量的错误报告,对我来说有太多的风险。有时我们只需要做我们的工作,而不是测试微软的产品。使用帮助>发送反馈>报告问题是报告这类问题的正确途径。 –

回答

1

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

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

我所有的项目都是以.NET 4.6.2为目标的。通过在所有项目上定位4.7,我现在在错误窗口中获得适当的错误下划线和报告。

我不确定这是否是所有人的解决方案,并且需要一些额外的工作才能将我的项目部署到生产环境,但我可以接受。

我想这与使用Visual Studio 2012并升级到2017年的目标4.6.2有关。如果/当项目升级时可能没有正确设置。

+0

也看起来像它发生在4.6.1 – thecoolmacdude