Visual Studio无法记忆打开的文档和启动项目

122

最近一周,我的VS解决方案发生了变化,我还没有找到一个可以修复它的设置。

每次关闭并重新启动后:

  1. 启动项目会恢复为与上次关闭时选择的不同
  2. 我的项目层次结构不同于关闭时的样子-每个项目都已展开
  3. 关闭时打开的文档都已关闭

在每种情况下,我希望解决方案看起来就像我上次关闭它时一样。

如何做到这一点?

谢谢,
Berryl


1
目前在使用VS2019时遇到了一个问题,但只有在将窗口从主VS窗口中弹出时才会出现。然后在下一次打开解决方案时,它会完全空白。 - BotMaster3000
我也遇到了一个问题,只有在我的窗口移动到另一个显示器上时,VS2019 才会出现空白的打开。 - Matt Kleinsmith
19个回答

174

我认为这些信息都存储在你的.suo文件和/或.user文件中。如果它们已经损坏,VS将会有困难,因此它会恢复到默认设置。

可能尝试退出VS,删除.suo和/或.user文件,在启动VS并进行设置后重新启动它,看它是否记住了设置。


1
嗯,现在是瞎猜的时候了。禁用NuGet?宏?那些文件是否受源代码控制?有没有不正常退出的流氓devenv.exe?你是否从Productivity Power Tools运行解决方案导航器,并且它可能会干扰你的设置?基本上我已经没有更多的想法了,抱歉 :-) - Dan F
1
在我的情况下,删除Resharper的.sln.DotSettings.user文件也有所帮助。 - SilentNot
3
在Visual Studio 2019中仍然出现了相同的问题。我在.vs/ProjectNameFolder/v16/文件夹中找到了.suo和server文件夹,并将其删除。 - chri3g91
1
VS2019,这对我起作用了。 - Behzad

73

我在Visual Studio 2015中遇到了这个问题。 删除解决方案根目录下的 .suo 文件并没有解决问题。 我需要删除以下目录下的所有内容:

\\SolutionRootFolder\.vs\FolderWithSolutionName\v14\

.vs是一个隐藏文件夹,而 .suo 是位于 v14 文件夹下的一个隐藏文件,必须与 vbcs.cache 文件一起被删除。

VS2017更新: 在v15文件夹下,VS2017仍然存在此问题。


7
哈哈,在我回答这个问题4.5年后,我在使用Visual Studio 2015时遇到了相反的问题,我需要让它“忘记”它打开过的东西。谢谢@ThatShawGuy,你的回答帮助我解决了难题 :) - Dan F
2
通过按照上述方法删除 .vs\SolutionName\v14\ 文件夹中的内容,可以解决 @user12345 的问题。因此,如果您的解决方案名为 SolOne,位于 D:\Src\SolOneFolder\SolOne.sln 中,请删除 D:\Src\SolOneFolder.vs\SolOne\v14\ 中的所有内容。 - Dan F
1
请记住,删除此文件也会重置任何未加载的项目/文件等。谢谢。 - michal krzych
3
哇,Studio 2017仍然存在问题,当VS卡在打开相同文件时,你需要从.vs\SolutionName\v15\中删除.suo文件。 - SliverNinja - MSFT
1
同样的解决方案也适用于2022年。这是正确的答案。 - Vishal modi
显示剩余2条评论

29

这个方法并没有解决启动项目问题,但勾选“在解决方案加载时重新打开文档”复选框就解决了我记住已打开文档的问题。

您可以在此更改该设置:

Tools -> Options -> Projects and Solutions -> General -> Reopen documents on solution load

不确定在我将 Visual Studio 2017 升级到版本 15.8.3 之前是否存在该复选框,或者它是在某个地方被重置了。


这对我来说比重置所有设置更有效。我正在使用VS Community 2017 v. 15.9.10。 - loganjones16
这个应该是确认答案,不是吗? - Kirill Kostrov
这真的起作用了!但是,如果我打开我的存储过程 -> 关闭我的vs(2019) ->重新打开它,所有打开的文件都将被关闭。如果在我关闭vs之前没有存储过程,那么文档/文件将被打开。这正常吗? - paraJdox1

27

在Visual Studio 2015中:

工具 -> 导入和导出设置 -> 重置所有设置

我尝试过这个方法,它对我有效。

愉快编码 :)


2
还有使用VS2017。 - uli78
2
请注意,这将重置所有设置,而不仅仅是与项目和解决方案状态保存相关的设置。 - loganjones16

17

我曾遇到同样的问题,试着移除了 .suo文件,但这并没有解决项目问题。然后我尝试了“重置”选项,这个方法完美地解决了我的问题。


3
一样的情况。在尝试了很多方法之后,只有“重置所有设置”有效。对于我的VS2013,“重置所有设置”位于“工具” > “导入和导出设置…”下面。 - Hong
这已经被设置了。然后我禁用了,重新启动了VS并重新设置了一遍。一切都很好。 - Tzwenni

15

我在使用Visual C# Express时也遇到了同样的问题。

我找到的唯一解决方法是:

  1. 重置设置(工具 -> 设置 -> 重置)
  2. 退出工作室
  3. 从受影响的解决方案中删除旧的损坏的.suo文件。

这看起来像是一个VS bug,因为Express版本不支持任何插件。我注意到,在我删除.suo文件并重新打开visual studio之后,它会为该特定解决方案生成一个新的.suo文件,通常大小约为57k。如果我在环境中打开任何文件(即使该文件根本不是解决方案的一部分),然后关闭visual studio,它会保存一个大约为916k的.suo。之后再打开相同的解决方案就会出现上述问题。


1
我发现仅删除suo文件是不够的,我还需要进行设置重置。我正在使用VS2012专业版。 - RichardHowells

10

在Visual Studio 2015中 >> 工具 > 选项 > 环境 > 启动 > 在启动时加载上次加载的解决方案


1
这是一个不错的技巧,但与实际问题无关。 - Markus

8
我尝试了以上所有方法,但都没有用。对我来说(在VS2017中),有效的方法是进入我的仓库文件夹,显示隐藏文件,删除.vs文件夹并重新启动VS。

7
对于Visual Studio 2017,工具->导入和导出设置->重置所有设置对我有用,尝试了所有其他解决方案都没有用。

谢谢,这个方法有效!删除 .suo、.user 和 .sdf 文件没有帮助,但这个修复了。 - HypeZ

6

我在Visual Studio 2010 Professional中解决了这个问题,方法是调用主菜单命令“窗口->重置窗口布局”。


我不想重置所有设置,所以我在尝试其他解决方案之前尝试了所有其他方法。 “重置窗口布局” 对我有效! 正在运行 VS 2015 Pro。 - Markus

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