我有一个问题与Visual Studio的c#解决方案。它会显示完全随机的错误,但项目会构建。现在,我有33个有错误的文件,我可以在所有文件中看到红色的弯曲线。
我尝试清理/重新构建解决方案,关闭Visual Studio,甚至重新启动计算机。我可以修改.cs文件,并看到解决方案中的更改。
有人知道为什么会这样吗?
我有一个问题与Visual Studio的c#解决方案。它会显示完全随机的错误,但项目会构建。现在,我有33个有错误的文件,我可以在所有文件中看到红色的弯曲线。
我尝试清理/重新构建解决方案,关闭Visual Studio,甚至重新启动计算机。我可以修改.cs文件,并看到解决方案中的更改。
有人知道为什么会这样吗?
当前回答
重新安装Visual Studio
在浪费了几个小时后,我仍然无法修复Visual Studio 2017。然后我安装了Visual Studio 2019 PREVIEW,突然间,IntelliSense再次向我显示stl类的成员(这在Visual Studio 2017中没有)。
所以,我的猜测是Visual Studio本身可能也有问题(可能是缓存目录中的问题或在你的PC上的一般性问题,这与特定的解决方案没有直接关系),可以通过干净完整的重新安装Visual Studio来解决。我知道,这是一个愚蠢的“解决方案”,但在我的情况下,只有一个新的Visual Studio(2019)安装才有效果。
如前所述,在我的案例中,只有STL类受到影响。智能感知不会显示它们的成员,这很奇怪。我想,这可能与预编译头有关。我在某处读到,STL和项目应该在同一个驱动器上,把它们放在同一个驱动器上应该能解决问题。但这些路线都没有成功。
其他回答
我注意到,有时在切换git分支时,Visual Studio(2017)将无法识别在第二个分支中添加的某些文件的类型。删除.vs文件夹可以解决这个问题,但它也会破坏所有的工作空间设置。这个技巧似乎对我很管用:
解决方案资源管理器->找到其中包含未识别类的文件。 单击解决方案资源管理器顶部的“显示所有文件”。 右键单击文件-> Exclude from project。 再次右键单击文件-> Include in project。
这会导致智能感知在切换分支时解析它错过的文件。
清理Resharper的缓存在我的情况下没有帮助,尝试暂停/恢复,并修复Resharper,使用JetBrains网站上的最新下载-这些都没有帮助。这是在我尝试关闭/重新打开VS,重新启动我的机器,重复,构建/重建及其组合之后。
有趣的是,在VS第二次重启后,暂停Resharper似乎解决了问题,但在我启用Resharper <之后,问题又回来了——我尝试这样做2-3次以确保模式。
不管怎样,当我发现这篇文章时,我仍然有问题:
快速提示:当Visual Studio崩溃,所有东西都是红色时该怎么办
所以我删除了同一文件夹级别的。suo文件和解决方案,它神奇地解决了所有红色。
注意:对于Visual Studio 2015, . suo文件在.vs/[solution_name]/v14隐藏文件夹中。
很多事情都可能导致它,这里有一长串答案。以下是我解决这个问题的方法,在尝试了几乎所有其他方法之后。
在DEBUG模式下构建解决方案。然后在发布模式下构建它(当它有红色波浪线时,它不应该构建,但在我的情况下,它只是警告,应该有绿色波浪线,但它陷入混乱,给他们红色波浪线,即使在发布模式下,它还是构建了)。然后在DEBUG模式中构建。朝手上吐口水,转身三次可选。
对我来说很有用,其他都没用。
我遇到过这样的问题,智能感知似乎不能识别一个项目的存在(很多“找不到这种类型”,“这个名称空间不存在”等错误)。
在所有引用项目中删除并重新添加项目引用可以解决问题,但是可以通过编辑问题项目的.proj文件来修复潜在的原因。
在“缺失的”project' .csproj文件的顶部附近有一个元素:
<ProjectGuid>{GUID}</ProjectGuid>
在所有引用项目中。csproj文件都是项目引用:
<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
<Project>{ANOTHER-GUID}</Project>
<Name>Offending Project</Name>
</ProjectReference>
引用的GUID与项目的GUID不匹配。用{ANOTHER-GUID}替换上面的{GUID}解决了这个问题,而不必经过每个引用项目。
以下是一些流行的答案。如果答案对你有帮助,给它点赞:
选项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。 然后,右键单击引用>添加引用,选择“微软。单击“确定”