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

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

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


当前回答

首先关闭解决方案。 然后解决方案缓存文件删除(位置C:\Users\Documents\Visual Studio\Backup Files/项目缓存文件) 然后删除。suo文件 然后打开并构建解决方案。

我希望能解决你的问题

其他回答

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

我的一个同事今天就遇到了这个问题。我们尝试了这里的许多建议,除了下面描述的解决方案之外,没有一个有效。

问题:

项目构建良好,但智能感知无法识别某些类型,并将特定的使用语句标记为无效。

解决方案:

将“解决方案平台”(在VS 2017中,这是解决方案配置下拉菜单旁边的下拉菜单,具有诸如x86, x64, AnyCPU,混合平台等值)更改为AnyCPU。

项目的平台可能会有所不同,但有些参考可能并不适用于所有平台。

尝试将鼠标悬停在带下划线的元素上。它通常会告诉你问题所在。要查看所有错误/警告的列表,请转到View => Error list。应该在IDE底部打开一个表,列出所有错误/警告。

我注意到,有时在切换git分支时,Visual Studio(2017)将无法识别在第二个分支中添加的某些文件的类型。删除.vs文件夹可以解决这个问题,但它也会破坏所有的工作空间设置。这个技巧似乎对我很管用:

解决方案资源管理器->找到其中包含未识别类的文件。 单击解决方案资源管理器顶部的“显示所有文件”。 右键单击文件-> Exclude from project。 再次右键单击文件-> Include in project。

这会导致智能感知在切换分支时解析它错过的文件。

我发现,如果被引用的项目的目标是框架的更高版本,而不是试图使用它的项目,就会发生这种情况。你可以通过进入输出窗口并寻找类似的内容来判断这是否是问题所在:

无法解析主引用“my_reference”,因为它 是基于“. net framework,Version=v4.7.2”框架构建的。这 是比当前目标框架更高的版本吗 “.NETFramework, Version = v4.7 "。

解决方案是更改一个或其他项目的目标框架。