我有一个中型解决方案,有99个项目,最近开始表现得非常奇怪:
1)如果我尝试通过解决方案资源管理器重命名文件,VS似乎会挂起,但很长一段时间(10分钟以上)后,它将完成重命名操作。
2)我今天也注意到,在Debug和Release模式之间切换似乎也会冻结VS.到目前为止,我还没有让它运行得足够长,看看它是否真的完成了。
我已经尝试过Visual Studio 2012和2013,并且两者都表现出相同的问题,因此这似乎表明问题可能与Visual Studio无关。我试图检查事件日志中是否有任何东西,但没有任何东西跳出来。我也重新启动并运行了checkdisk,但它没有发现任何错误。
在具有8GB RAM和新SSD的相当高规格的笔记本电脑上运行Windows 7 Professional
更新:显然如果我重命名了一次文件,我可以立即重命名它(以及解决方案中的其他文件)。当我重新启动VS时,它再次变慢。
Update2:我让计算机在一夜之间运行,试图从Debug切换到Release,它在我离开工作和回到这里之间的14个小时内成功完成了。
答案 0 :(得分:23)
如果您正在使用带有" local"的TFS,则Visual Studio在重命名文件时可能会非常慢。工作空间与服务器相对应"工作空间,以及TFS存储库中包含不同版本的文件总数超过10,000个项目。
与微软的建议相反,我建议使用服务器工作区而不是本地工作区,以获得更好的性能。本地工作空间还有一些其他缺点,唯一的好处是能够在TFS存储库关闭时工作。考虑到您是否可以连接到TFS,这并不是一个好处,您可能无法连接到您的局域网,在这种情况下您无论如何都可以做很少的工作。
在Visual Studio 2015中更改为TFS的服务器工作区,
在VS中点击文件 - >源控制 - >高级 - >工作区
在打开的对话框中,选择您的工作区,然后点击编辑...
单击高级...(选择哪个映射无关紧要。)
在“位置”下,选择“服务器”,然后按“确定”。
切换到服务器可能需要十分钟或更长时间,具体取决于您的存储库大小。
完成此操作后,重命名文件几乎应该是即时的。
答案 1 :(得分:1)
不幸的是,99个项目不是Visual Studio的中型解决方案,而是一个非常大的解决方案。 Visual Studio根本无法很好地扩展到这种大小的解决方案,你可以在这里看到它的效果。
实现这一目标的唯一方法是将您的解决方案分解为几个较小的解决方案。
答案 2 :(得分:1)
在测试时,我试图在Debug和Release模式下设置一个在不同服务器上构建的项目。我虽然清理了这两个,但显然我只是在Debug配置下完成了。
显然同时服务器已经决定讨厌我的机器,这会让我的机器在等待时冻结。
关闭Visual Studio并手动编辑.csproj文件解决了这个问题。
答案 3 :(得分:0)
基于@Daniel Barbalace的回答,我的问题确实与TFS有关,但我无法切换到服务器工作区。我最终做的是删除我目前没有工作的任何分支或项目的映射。没有神奇的数字但是一旦我看起来不到50,000个文件(TFS文件夹全局),重命名突然从2分钟下降到3-5秒。