在我公司,我们有一个Visual Studio 2017解决方案,其中包含8个项目;其中有6个是ASP Web Forms项目,1个类库和1个用于类库的测试项目。如果您是从SVN中拉出解决方案并首次打开它,则Visual Studio需要15至30分钟的时间来加载(取决于您的机器规格)。它易于复制,它发生在每个开发人员工作站上。首次加载后,您可以非常快速地关闭/重新打开该解决方案。
如果您从SVN(相同的仓库)下拉另一个分支,并在新分支中首次打开解决方案,它将再次挂起。第一次加载新分支.sln后,它会快速打开。但是,在加载第二个分支.sln之后,如果尝试从第一个分支打开.sln,它将再次挂起。因此,每次您从一个分支转到下一个分支时,都必须等待.sln首次加载(我知道这很奇怪)。它是可复制的,并且每次都会发生。但是,同样,在通过挂起的解决方案并将其加载后,您可以非常快速地关闭/重新打开该分支的解决方案。
当VS挂在状态栏中时,它将显示“正在加载项目文件xxx”,并且它将在3个或4个不同的项目上分别挂起,每个项目大约需要3-5分钟,然后再加载下一个项目。我们注意到,如果您单击窗口右上角的X以关闭VS,则会收到有关应用未响应的Windows消息。如果选择“关闭程序”,然后再次打开解决方案文件,它将快速加载正在挂起的项目,然后进入下一个。强迫关闭会导致挂起的项目在您下次打开该解决方案时快速加载。
因此,解决此问题的方法是,如果您是第一次打开.sln,或者从另一个分支打开.sln,并且需要重新打开另一个分支,则应该打开解决方案强制关闭并重复3或4次,直到溶液加载为止。这很繁琐,但是与VS等待15分钟以上才能打开解决方案相比,它花费的时间不到一分钟。
我们团队中的所有开发人员在各自的工作站上都会遇到相同的行为。我们甚至聘请了顾问来帮助我们经历相同行为的各种项目。 VS 2015也是如此。
其他人是否遇到过这种情况,并提出解决建议?我什至不确定如何最好地解决它。