【发布时间】:2018-03-17 11:38:24
【问题描述】:
我最近从 Visual Studio 2012 升级到 2017(更新到版本 15.3.5)并且 IDE 出现了一些问题。
在某个项目中,我没有得到错误下划线。
在错误列表窗格中,“仅构建”实际上比“构建 + 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 并重新安装。
更新:
更改目标框架似乎有一些效果。具有此行为的项目以 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 也很重要,因为许多其他人似乎也有类似的问题。
【问题讨论】:
-
非常奇怪的行为......对我来说似乎是一个错误。您是否在另一台具有相同 VS 版本的计算机上尝试过有问题的项目? -- 如果我是你,我会 write a bug report to Microsoft,将项目附加到它上面。
-
我在 Visual Studio 2012 中使用您的代码创建了一个新项目,然后使用 Visual Studio 2017 对其进行更新,无法重现此问题。所以这个问题似乎与您的项目更相关,如何在您的解决方案中使用上述代码创建一个新项目,检查它是否工作正常?尝试删除 .vs 文件。
-
没有复制,但我避免安装更新。特别是 15.3.x 更新产生了很多错误报告,我不敢冒险。有时我们只需要完成我们的工作,而不是测试 Microsoft 产品。使用帮助 > 发送反馈 > 报告问题是报告此类问题的正确途径。
-
@Leo-MSFT 该项目最初是来自第三方的示例项目,项目文件中包含
<ProductVersion>9.0.30729</ProductVersion>(Visual Studio 2008?),升级到 2012,然后升级到 2017。 -
@HansPassant 这个问题最初出现在 15.0 上,虽然我在更新到 15.3 之前检查了更改日志并且没有提到对此的修复,但我想我会尝试一下。
标签: vb.net visual-studio visual-studio-2017 roslyn