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

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

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


当前回答

很多事情都可能导致它,这里有一长串答案。以下是我解决这个问题的方法,在尝试了几乎所有其他方法之后。

在DEBUG模式下构建解决方案。然后在发布模式下构建它(当它有红色波浪线时,它不应该构建,但在我的情况下,它只是警告,应该有绿色波浪线,但它陷入混乱,给他们红色波浪线,即使在发布模式下,它还是构建了)。然后在DEBUG模式中构建。朝手上吐口水,转身三次可选。

对我来说很有用,其他都没用。

其他回答

卸载&重新加载项目修复了这个问题。

重新安装Visual Studio

在浪费了几个小时后,我仍然无法修复Visual Studio 2017。然后我安装了Visual Studio 2019 PREVIEW,突然间,IntelliSense再次向我显示stl类的成员(这在Visual Studio 2017中没有)。

所以,我的猜测是Visual Studio本身可能也有问题(可能是缓存目录中的问题或在你的PC上的一般性问题,这与特定的解决方案没有直接关系),可以通过干净完整的重新安装Visual Studio来解决。我知道,这是一个愚蠢的“解决方案”,但在我的情况下,只有一个新的Visual Studio(2019)安装才有效果。

如前所述,在我的案例中,只有STL类受到影响。智能感知不会显示它们的成员,这很奇怪。我想,这可能与预编译头有关。我在某处读到,STL和项目应该在同一个驱动器上,把它们放在同一个驱动器上应该能解决问题。但这些路线都没有成功。

在尝试了所有列出的选项后,我发现了另一个原因,为什么会发生这种情况。如果有人以zip文件的形式向你发送源代码,或者你下载了zip文件,Windows可能已经阻止了所有文件。2种解决方法:

方法1:

右键单击原始Zip文件->选中“解除封锁”->单击应用

方法2:

如果这不是一个选项,而不是打开解决方案文件夹中的每个文件的属性,只需打开power shell并使用以下方法递归地解除阻塞:

Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File

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

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

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

也许你试图重置你的智能感知缓存。在visual studio 2012中,当我在一个有许多部分类定义的大型项目中工作时,我也遇到过类似的问题。 减少局部值部分地解决了问题,同时也清除了智能感知缓存。