Visual Studio弹出窗口:“操作无法完成”

228

当我尝试打开本地或Team Foundation Server (TFS)上的项目时,会出现一个模态窗口显示:

无法完成操作:未指定错误

或者同样的消息,但是是“类未定义…”而不是“未指定错误”。

这些错误今天早些时候开始发生,当我尝试将一些工作提交到团队基础结构服务器时。我已经在同一台计算机上尝试使用Visual Studio 2008,但仍然遇到相同的错误。我还搜索了谷歌,但似乎没有解决方案能帮助我。

我已安装了Windows Update的最新更新。

有任何想法吗?


1
如果你遇到了这个问题,请查看以下答案: https://dev59.com/LVwY5IYBdhLWcg3w0Kks#35631125 - BlackICE
32
大多数情况下,重新启动 VS 可以解决这个问题。 - Don Cheadle
2019年了,问题仍然存在,现在出现在VS2017中。令人尴尬。 - user5226582
卸载并重新加载项目对我有用。 - Zhang
2
尝试以管理员身份重新启动Visual Studio。 - Andreas
删除隐藏的.vs文件夹对我有用。 - James Westgate
34个回答

284
您尝试过删除Your_Solution_FileName.suo文件吗? .suo文件应该在与.sln文件相同的文件夹中,或者在Visual Studio新版的.vs文件夹中。 .vs文件夹可能是隐藏的。
针对Visual Studio 2017的更新
在VS 2017中,.suo文件位于不同的文件夹中:您可以在YourSolutionFolder\.vs\YourSolutionName\v15\.suo中找到.suo文件。 .vs文件夹是隐藏的,而.suo文件是一个没有名称,只有.suo扩展名的文件。
Explanation .suo文件包含多种信息,如打开的文件列表、一些偏好设置(如启动项目)和其他内容,这些信息在解决方案文件中未保存。
通常情况下,您可以无需任何问题地删除.suo文件。您可能需要为解决方案设置StartUp Project
为了保险起见,您可以将.suo文件重命名,然后重新尝试启动解决方案,看是否有所帮助。
根据我的经验,在某些源代码中存在错误时,VS有时会在启动时崩溃。由于存在错误,VS无法编译代码,然后崩溃,因为没有编译的代码,无法以设计模式显示窗体。在这种情况下,删除.suo文件将解决该问题,因为它重置了打开文件列表,因此可以在不打开/显示任何文件的情况下启动解决方案。
当删除.suo文件无效时
以下是删除 .suo 文件未解决问题时可以尝试的其他事项清单:

  • 重新启动计算机
  • 清理Windows临时文件夹
  • 从IDE中清除解决方案(菜单\构建\清理解决方案)
  • 手动清理解决方案(删除/bin/文件夹中编译的DLL/EXE,并清空VS在构建过程中创建的临时文件在/obj/文件夹中(组成解决方案的每个项目都有这些文件夹,所以请将它们全部清理))
  • 逐个打开组成解决方案的每个单独的项目并进行构建,以确定生成问题的特定项目
  • 了解触发错误的更改/编辑/修改,然后撤消它(源代码控制工具可以帮助...)
  • 如果您有自定义控件:检查构造函数中的代码。即使在设计时,VS IDE也会调用您的自定义控件的构造函数,可能会发生奇怪的事情(在设计时某些属性不起作用,连接字符串可能未填充…)

作为最后一招...

  • 尝试安装任何VS更新
  • 尝试禁用VS扩展(如果您安装了任何扩展...)
  • 尝试更新解决方案中引用的任何外部DLL/控件
  • 尝试更新Windows

@sergiol 你尝试过禁用你安装的任何Visual Studio插件吗?有时它们会导致IDE崩溃。 - Max
4
尝试删除所有的 ".suo" 文件。我删除了解决方案文件夹顶部存在的 ".suo" 文件,但没有起作用。然后我在一个隐藏文件夹 ".vs\ci-ucsp\v14" 中找到了一个,并最终解决了问题。 - Erick Asto Oblitas
3
在 Visual Studio 2015 中,解决方案是删除与 .xproj 文件相伴的 .user 文件。 - sixones
在我使用CMake生成的VS 2017项目(版本15.3.5)中遇到了这个问题。我的所有项目都能在Debug模式下构建,但在Release模式下,有些可以构建,而有些则无法构建,并显示“未指定错误”。我删除了build\.vs\.suo文件,然后就可以在Release模式下构建了。 - metal
1
我来到这里看到了类似的问题,但这里的答案都没有起作用。我发现我的问题是由于我的解决方案在我的OneDrive上,而OneDrive已经更新并具有一个名为“文件按需”的新功能。这个功能会导致与此处描述的类似的问题。 更多细节可以在这里找到。 https://developercommunity.visualstudio.com/content/problem/134518/visual-studio-does-not-like-onedrive-files-on-dema.html - Leon Degeling
显示剩余8条评论

118
有时候,只需要关闭Visual Studio 2015,然后再重新打开即可解决问题。 更新:Visual Studio 2017也会出现此问题。
我在几台机器上都遇到过这个问题。
这确实会发生

“您尝试过删除"Your_Solution_FileName.suo"文件吗?”

此外,如果电脑崩溃,如停电等情况,也会发生此问题。
适用于Update 2Update 3以及没有任何更新的新环境...

3
这是一个非常糟糕和烦人的 bug(通过此方法解决),检测问题的一种方法是,如果输出窗口没有显示(没有输出窗口 == 重启 VS 以修复)。 - Thomas Andreè Wang
我仍然更喜欢使用VS 2013来处理一些事情,比如Nuget和一些TFS在线连接以及各种稳定性方面。总体而言,VS 2015非常棒,但肯定也存在一些问题。 - Tom Stickel
前几天我在使用VS 2015时遇到了另一个问题,即无法加载本地主页。Fiddler正在对某些我以前从未见过的内容进行大量调用。不知道为什么,但我和另一位开发人员尝试了各种方法,最后我决定尝试关闭VS 2015。然后重新打开它就可以正常工作了。有点烦人,但现在已经无法回到vs 2015(也安装了sp1)。 - Tom Stickel
我在一台电脑上安装了VS 2015 Update 2,突然间我无法创建新的Web应用程序(但我可以创建控制台应用程序等)。我花了太多时间试图解决这个问题,最终我启动了VS 2015加更新2捆绑包进行修复...非常恼人,因为重启和其他操作都没有解决它。-这只是我遇到的另一个问题,我想把它添加到评论中。(我确实在那台电脑上安装了vs 15 preview,所以我想知道那次安装是否导致了这个问题)。 - Tom Stickel

73

VS 2015 -> 删除 ComponentModelCache 中的所有文件对我有用:

C:\Users\**用户名**\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache


2
您还可以查看该目录中的 Microsoft.VisualStudio.Default.err 文件,以确定可能导致问题的原因。 - Chris Lunt
1
@ChrisLunt 那个建议显示了一个正在抛出错误的扩展。仅删除该扩展对我有帮助。 - Boggin
2
对我没有用,删除这些文件完全没有效果。此外,在我看到问题时,.err文件中也没有出现其他行。 - Aleksei Petrenko
谢谢。它对我完美地起作用了。删除.suo文件和所有其他类型的操作都没有效果。这是完美的解决方案。 - sapatelbaps

19

我遇到了同样的问题,但删除.suo文件没有起作用。我唯一能够加载项目的方法是删除"Your_Project_FileName.csproj.user"文件。

--

几个月后,我又遇到了这个问题,但这次删除"Your_Project_FileName.csproj.user"文件没有像上次那样有用。最终,我找到了一个IIS Express问题的解决方法。我从我的applicationhost.config中移除了该网站,并让Visual Studio重新创建它,这样项目最终被成功加载了。


2
我将applicationhost.config文件中的所有站点都删除后,就能够重新加载项目了。 - Scott Munro
是的,我刚刚在切换解决方案的git分支时遇到了这个问题。无法构建,无法调试,什么都做不了。删除*.user文件就解决了。 - Kristian
我遇到了Windows崩溃的问题,VS(2019)设法将null写入我的.user文件 - 还有一些csproj文件也是如此。删除.user文件(并还原.csproj文件)解决了这个问题。 - bmiller

12

对我而言,这个问题是由以下文件中冲突的 <site> 配置引起的。

C:\Users\smunro\Documents\IISExpress\config\applicationhost.config

我编辑了这个文件,移除了以下元素中所有的site元素。你可能需要更加谨慎地选择,试着找出引发冲突的网站,并只移除它。

<configuration><system.applicationHost><sites>

请注意,我保留了 <siteDefaults><applicationDefaults><virtualDirectoryDefaults> 元素。

当我重新加载项目时,会自动创建一个新的 <site> 元素。


1
这才像样。最奇怪的是,在VS2015中出错了,但在VS2010中却顺利通过了.. :S 古老但经典? :) - army
1
如果您正在使用Visual Studio 2015,则从<解决方案根目录>.vs\config\中删除applicationhost.config文件,这对我有用,因为我已经弄乱了绑定。 - Richard.Davenport

7
请确保在按下F5键之前,您的输出窗口是可见的。如果您将输出窗口最大化,则有时重新启动Visual Studio时不会重新打开输出窗口。
简单的解决方法: 1. 重新启动Visual Studio 2. 在构建项目之前,使用“视图”->“输出窗口”
现在当您构建时,它应该可以正常工作。
(我非常确定删除.suo和.user文件仅起作用是因为它将Visual Studio重置为其默认布局,这确保了输出窗口可见。)

这似乎是解决问题的关键!我肯定没有故意关闭输出窗口,甚至没有想到去看看“输出”是否存在。无论潜在问题是什么,缺失的输出窗口都是问题的一部分。注意:在我的情况下,查看-> 输出(ctrl + alt + O)不足以使窗口出现,我必须重新启动Visual Studio 2015。 - Cos Callis
是的。如果您在执行任何尝试写入输出窗口(例如构建)的操作后尝试执行Ctrl-Alt-O或View->Output,则为时已晚 - 您必须重新启动。 - HiredMind

5

从命令行运行eventvwr,以查看是否记录了任何应用程序错误。

这可能会提供更有用的实际错误消息。


3

我在打开Razor视图时遇到了类似的问题

  • 我登录Azure账户时被要求重新输入我的凭据。
  • 重启VS 2015更新1

3

我不得不删除一个网站项目。里面有一个旧的引用DLL文件,我必须清理该网站项目,然后它才能正常工作。


3

我曾经遇到过同样的错误。我无法打开解决方案中的任何类和组件。我尝试删除了ComponentModelCache并测试了其他解决方法,但没有任何结果。最终,这个方法帮助了我:只需关闭你的Visual Studio,然后再次打开它!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接