我在C#解决方案上的Visual Studio遇到问题。它显示完全随机的错误,但项目已建立。现在,我有33个有错误的文件,并且所有文件中都能看到红色的波浪线。
我尝试清洁/重建解决方案,关闭Visual Studio,甚至重新启动计算机。即使在Visual Studio中,即使编译器有错误,我也要确保执行调试运行中描述的步骤。我可以修改.cs文件,然后看到解决方案中的更改。
有谁知道为什么要这么做吗?
我在C#解决方案上的Visual Studio遇到问题。它显示完全随机的错误,但项目已建立。现在,我有33个有错误的文件,并且所有文件中都能看到红色的波浪线。
我尝试清洁/重建解决方案,关闭Visual Studio,甚至重新启动计算机。即使在Visual Studio中,即使编译器有错误,我也要确保执行调试运行中描述的步骤。我可以修改.cs文件,然后看到解决方案中的更改。
有谁知道为什么要这么做吗?
Answers:
在我的情况下,清除Resharper的缓存无济于事,尝试使用JetBrains网站上的最新下载进行暂停/还原,还尝试修复Resharper,但这些都不起作用。这是在我尝试关闭/重新打开VS,重启机器,重复,构建/重建及其组合之后。
有趣的是,挂起Resharper似乎可以解决VS 的第二次重启后的问题,但是在启用Resharper <-后我又回来了,我尝试执行此序列2-3次以确保模式。
无论如何,当我找到这篇文章时,我仍然遇到问题:
因此,我使用解决方案删除了同一文件夹级别的隐藏.SUO文件,它神奇地解决了所有红色问题。
注意-对于Visual Studio 2015,.SUO文件位于.vs / [solution_name] / v14隐藏文件夹中。
tldr; 卸载并重新加载问题项目。
当发生这种情况时,我(曾经)尝试关闭VS并重新打开它。大概有一半的时间有效。当它不起作用时,我将关闭解决方案,删除.suo文件(或整个.vs文件夹),然后重新打开解决方案。到目前为止,这一直对我有用(在过去的6个月中超过10次),但这有点乏味,因为有些东西被重置了,例如您的构建模式,启动项目等。
由于通常只有一个项目存在此问题,因此我只是尝试卸载该项目并重新加载它,并且此方法可行。我的样本大小仅为1,但比其他两个选项快得多,因此也许值得尝试。我怀疑这行得通,因为它写入了.suo文件,并且也许修复了导致问题开始的损坏部分。
注意:这似乎适用于VS 2019、2017和2015。
我清理了解决方案,关闭了VS,重新打开它,生成了解决方案,然后清理了红色的未解决的行并成功建立了。
我发现在Visual Studio 2017中使用Git时经常发生这种情况,在有相关代码更改的地方切换分支。即使项目将成功构建,错误列表中仍将保留错误。
这些错误通常是名称空间问题和缺少的引用,即使存在库引用也是如此。
解决:
我已经尝试了所有6种选择,但对我没有任何帮助。下面的解决方案解决了我的问题。
关闭VS。删除解决方案文件旁边的隐藏的“ .vs”文件夹。重新启动VS并加载解决方案。
我遇到了这样一个问题,即Intellisense似乎无法识别一个项目的存在(很多“找不到此类型”,“此命名空间不存在”等错误)。
在所有引用项目中删除并重新添加项目引用将解决此问题,但是可以通过编辑问题项目的.proj文件来解决根本原因。
在“缺失”项目的.csproj文件顶部附近是一个元素:
<ProjectGuid>{GUID}</ProjectGuid>
在所有引用项目中,.csproj文件都是项目引用:
<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
<Project>{ANOTHER-GUID}</Project>
<Name>Offending Project</Name>
</ProjectReference>
引用的GUID与项目的GUID不匹配。用{GUID}
以上内容替换已{ANOTHER-GUID}
解决的问题,而不必执行每个引用项目。
这是一些受欢迎的答案。如果对您有帮助,请对答案的操作进行投票:
如@Mike Fuchs所述,请尝试以下操作:
在菜单中,构建>清洁解决方案
和
在菜单中,构建>构建解决方案
并选择有问题的项目,然后单击刷新按钮:
如@Pixel所述,请尝试以下操作顺序:
- 清洁溶液
- 关闭Visual Studio
- 打开Visual Studio
- 建立解决方案
如果您有ReSharper,请尝试清空ReSharper缓存:
在菜单中,ReSharper>选项>环境>常规>清除缓存
并禁用和重新启用ReSharper:
在菜单中,工具>选项> ReSharper>常规>挂起/还原
正如@Neolisk提到的,删除.suo文件可能会解决您的问题。对于Visual Studio 2015,该文件位于:
[解决方案路径] /。vs / [解决方案名称] /v14/.suo
对于Visual Studio 2017:
[解决方案路径] /。vs / [解决方案名称] /v15/.suo
请注意,.vs目录是隐藏的。
如@TTT所述,请尝试卸载导致问题的项目:
在解决方案资源管理器中,右键单击项目,卸载项目。
并重新加载
在解决方案资源管理器中,右键单击项目,重新加载项目。
正如@Guilherme所述,请尝试从有问题的项目中删除并添加对“ Microsoft.CSharp”的引用。
在解决方案资源管理器中,展开项目,展开“参考”,右键单击“ Microsoft.CSharp”并删除。
然后,右键单击“引用”>“添加引用”,从列表中选择“ Microsoft.CSharp”,然后单击“确定”。
删除隐藏的文件路径= 您的解决方案 \ .vs \ 您的解决方案名称 \ v15 \ .suo
对于VS-2017,删除.vs文件夹对我有用。
也许您尝试重置智能感知缓存。在带有多个局部类定义的大型项目中工作时,在Visual Studio 2012中遇到了类似的问题。减少部分内容可以部分解决问题,同时清除智能感知缓存。
删除.vs
文件夹解决了我的问题。
但这也会在VS中重置我的解决方案的当前设置。就像,当我重新启动VS时,我在解决方案中卸载的项目被重新加载,所有固定和打开的文档也被关闭。
对于我的特定情况,这是一个服务引用,另一个开发人员合并到主分支中。除了语法高亮无法解析生成的服务类并且源都用红色下划线标出之外,这一切都很好。清洁,重建,重新启动无济于事。
我要做的就是刷新服务参考,而VS设法将所有内容整合在一起。源代码或生成的文件未更改。
在尝试了所有列出的选项之后,我发现了发生这种情况的另一个原因。如果有人将您的源代码作为zip发送给您,或者您下载了zip,则Windows可能已阻止了所有文件。解决此问题的2种方法:
方法1:
右键单击原始Zip文件->选中“取消阻止”->单击应用
方法2:
如果这不是一种选择,则无需打开解决方案文件夹中每个文件的属性,只需打开power shell并使用以下命令递归解除阻止:
Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File
希望能解决您的问题
TL; DR:执行干净的Visual Studio重新安装
浪费了几个小时后,我仍然无法为Visual Studio 2017修复它。然后安装了Visual Studio 2019 PREVIEW,突然之间,IntelliSense再次向我显示了STL类的成员(Visual Studio 2017却没有) )。
因此,我的猜测是Visual Studio本身也可能存在问题(可能是缓存目录中的问题,或者通常是您PC上与特定解决方案没有直接关系的某些问题),可以通过干净而完整的解决方案来解决-Visual Studio的安装。我知道,这是一个愚蠢的“解决方案”,但就我而言,只有全新的Visual Studio(2019)安装才有效。
如前所述,就我而言,仅STL类受到影响。IntelliSense不会显示其成员,这很奇怪。我认为,这可能与预编译的标头有关。我读过某个地方,STL和项目应该在同一驱动器上,将它们放在相同的驱动器上应该可以解决问题。但是这些途径都没有成功。
我发现,如果所引用的项目针对的框架版本比尝试使用该框架的项目更高,则可能会发生这种情况。您可以通过转到输出窗口并查找与此类似的内容来判断是否是问题所在:
无法解析主引用“ my_reference”,因为它是根据“ .NETFramework,Version = v4.7.2”框架构建的。这是当前目标框架“ .NETFramework,Version = v4.7”的更高版本。
解决方案是更改一个或其他项目的目标框架。
我在VS2019中的症状是我会在构建时出现一些错误。然后,我将修复错误,然后构建将正常工作,如“输出”窗口中所示。但是“错误”窗口仍显示旧错误。我可以很好地运行它。关闭VS2019并反击已解决了该问题,但仅持续了一段时间。这开始发生在版本16.4.3
这个解决方案似乎对我有用:
取消选中工具->选项->项目和解决方案->常规->允许并行项目初始化
我发现此修复程序在以下评论中被深埋:https : //developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html
尝试将鼠标悬停在带下划线的元素上。它通常应该告诉您什么问题。要查看所有错误/警告的列表,请转到查看=>错误列表。应该在IDE的底部打开一个表格,列出所有错误/警告。