TFS:获取最新原因导致项目重新加载缓慢

时间:2016-09-09 08:44:19

标签: visual-studio tfs visual-studio-2015

我们正在使用一个解决方案,该解决方案有多个项目,这些项目引用了其他解决方案中的NuGet包。

每次我们从解决方案的TFS服务器获取最新信息时,Visual Studio(2015)开始重新加载解决方案中的每个项目,这需要很长时间。现在情况并非总是如此,因为这种情况仅在几个星期前开始(解决方案已有一年)。

我们有其他已经遇到此问题的解决方案,我们的解决方案是关闭解决方案,然后获取最新信息,然后重新加载项目,这要快得多。

有人可以解释为什么会这样,以及如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

据报道这是MSFT的一个错误,请参阅Slow project reloading& Reload of projects is slow after call to TFS to get latest changeset。看来您的项目文件是从VS外部更新的,这会导致VS加载所有这些文件。更多详情请参阅VS IDE团队的回复:

  

主要罪魁祸首是,您的项目文件正在从外部更新   VS 会导致VS逐个加载。这是   极其繁重的过程,它发生在主UI线程上。因此,   这个ASL逻辑默认为缓解无响应的解决方案   负载。从本质上讲,您指出了ASL逻辑的局限性   我们没有考虑过。这将考虑未来   发布,谢谢。

     

与此同时,缓解问题的一种方法是强迫   通过触摸解决方案文件*.sln文件来重新加载解决方案   将触发ASL开始,基本上VS认为你做得很满   解决方案负载,它将优化响应时间   可能的。

     

Ulzii Luvsanbat

     

Visual Studio IDE团队

答案 1 :(得分:0)

请尝试以下步骤:

  1. 打开Visual Studio安装程序并安装2017版的最新可用更新。

  2. 打开UserDefaults.standard.addObserver(observer: NSObject, forKeyPath: String, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer?) NotificationCenter.default.addObserver(observer: NSObject, forKeyPath: String, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer?) 并删除所有文件,然后重新启动Visual Studio并重试。