我们正在使用一个解决方案,该解决方案有多个项目,这些项目引用了其他解决方案中的NuGet包。
每次我们从解决方案的TFS服务器获取最新信息时,Visual Studio(2015)开始重新加载解决方案中的每个项目,这需要很长时间。现在情况并非总是如此,因为这种情况仅在几个星期前开始(解决方案已有一年)。
我们有其他已经遇到此问题的解决方案,我们的解决方案是关闭解决方案,然后获取最新信息,然后重新加载项目,这要快得多。
有人可以解释为什么会这样,以及如何解决这个问题?
答案 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)
请尝试以下步骤:
打开Visual Studio安装程序并安装2017版的最新可用更新。
打开UserDefaults.standard.addObserver(observer: NSObject, forKeyPath: String, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer?)
NotificationCenter.default.addObserver(observer: NSObject, forKeyPath: String, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer?)
并删除所有文件,然后重新启动Visual Studio并重试。