我有一个问题与Visual Studio的c#解决方案。它会显示完全随机的错误,但项目会构建。现在,我有33个有错误的文件,我可以在所有文件中看到红色的弯曲线。

我尝试清理/重新构建解决方案,关闭Visual Studio,甚至重新启动计算机。我可以修改.cs文件,并看到解决方案中的更改。

有人知道为什么会这样吗?


当前回答

tldr;卸载并重新加载有问题的项目。

当这种情况发生在我身上时,我(习惯)尝试关闭VS并重新打开它。这可能在一半的时间里是有效的。当它不起作用时,我会关闭解决方案,删除.suo文件(或整个.vs文件夹)并重新打开解决方案。到目前为止,这对我来说总是有效的(在过去的6个月里超过10次),但它有点乏味,因为有些东西会重置,比如你的构建模式,启动项目等。

由于通常只有一个项目有问题,我只是尝试卸载该项目并重新加载它,这是有效的。我的样本容量只有1,但它比其他两个选项快得多,所以可能值得一试。(更新:我的一些同事现在也在尝试这个方法,到目前为止,每次都很有效。)我怀疑这是可行的,因为它写入.suo文件,并可能修复了导致问题开始的损坏部分。

注意:这似乎适用于VS 2022、2019、2017和2015。

其他回答

删除隐藏文件路径= your solution\ .vs\ your solution Name \v15\ .suo

遇到这个问题,Visual Studio无法识别单个类型,即使解决方案构建成功,也会显示红色波浪。我注意到在解决方案资源管理器中,文件左边没有显示展开类和属性的展开箭头。

修复是排除该文件从项目和保存/构建产生一个预期的错误,然后包括该文件在项目和保存和构建。

执行这些步骤后,Visual Studio开始再次识别我的类型。看看git中的差异,这个问题似乎是由于<Compile Include="…"的行结束符不匹配造成的。.csproj文件的/>行。

我在VS2019中的症状是我会构建一些错误。然后修复错误,构建就可以工作了,如Output窗口所示。但是错误窗口仍然显示旧的错误。我可以运行得很好。关闭VS2019并重新打开解决了这个问题,但只是一段时间。这在版本16.4.3开始发生

这个解决方案似乎对我很有效:

取消勾选工具->选项->项目和解决方案->通用->允许并行项目初始化

我发现这个解决办法埋在这里的评论:https://developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html

0 -右键单击解决方案和清洁解决方案

1 -关闭VS

2 -删除项目的.suo文件

3 -开VS

4 -构建解决方案

我体验过智能感知显示不存在的分散注意力的错误,但仍然能够在Visual Studio 2019中构建和调试项目。此问题在Visual Studio 2017中没有出现。在这个问题上,我们无法导航到Visual Studio中的各种参考。

在尝试了所有发布的选项并找到这篇关于导航符号的文章后:https://stackoverflow.com/a/49100341/999011

我们这种情况的解决方案与Microsoft.Net.Compilers & 项目文件中的Microsoft.CodeDom.Providers.DotNetCompilerPlatform引用,在上面的帖子中提到过。

然而,我从来没有更新过它们,我只是发现在项目文件中有多个对不同版本的引用。在清理完这些文件后,每个包只有一个引用 Microsoft.CodeDom.Providers。DotNetCompilerPlatform,分散注意力的红色涂鸦消失了,导航符号开始工作。

我只能推测,额外的引用是在升级期间添加的,因为我认为这个项目最初是在Visual Studio 2015中创建的。