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

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

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


当前回答

在我的情况下,vs从未在项目属性>引用中保留导入的名称空间

当我试图再次添加/检查它们时,我不能和vs抛出一个错误,当保存项目vs崩溃时。当我重新打开所有标准导入的名称空间(system。数据等)都被再次勾选,然后它就能正确识别一切

其他回答

REM DELETE ALL VS HIDDEN SOLUTION OPTION FILES
DEL /A:H /S *.SUO

以下是一些流行的答案。如果答案对你有帮助,给它点赞:

选项1:清洁,构建和刷新(@Mike Fuchs选项)

正如@Mike Fuchs提到的,尝试以下操作:

在菜单中,构建>清洁解决方案 和 在菜单中,生成>生成解决方案

选择有问题的项目,然后点击刷新按钮:

选项2:清除,关闭,重新启动和构建(@像素选项)

正如@Pixel提到的,尝试以下操作序列:

清洗溶液 关闭Visual Studio Open Visual Studio 构建解决方案

选项3:清除ReSharper缓存(@GammaOmega选项)

如果你有ReSharper,试着清空ReSharper缓存:

在菜单中,ReSharper > Options > Environment > General > Clear cache

和禁用和重新启用ReSharper:

在菜单中,工具>选项> ReSharper > General > Suspend / Restore

选项4:删除.suo文件(@Neolisk选项)

正如@Neolisk提到的,删除.suo文件可能会解决你的问题。对于Visual Studio 2015,该文件位于:

[解决路径]/。vs /解决方案名称/发掘/ .suo

对于Visual Studio 2017:

[解决路径]/。vs /解决方案名称/ v15 / .suo

注意,.vs目录是隐藏的。

选项5:卸载和重新加载项目(@TTT选项)

正如@TTT提到的,尝试卸载导致问题的项目:

在解决方案资源管理器中,右键单击项目,卸载项目。

然后重新载入

在解决方案资源管理器中,右键单击项目,重新加载项目。

选项6:删除并添加Microsoft。CSharp参考(@Guilherme选项)

正如@Guilherme所提到的,尝试删除并添加“微软”的引用。从存在问题的项目中。

在“解决方案资源管理器”中展开项目,展开“引用”,右键单击“微软”。CSharp”和Remove。 然后,右键单击引用>添加引用,选择“微软。单击“确定”

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

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

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

我体验过智能感知显示不存在的分散注意力的错误,但仍然能够在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中创建的。

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

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

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