Visual Studio 关闭 .SQL 文件时挂起
Visual Studio Hangs when closing .SQL files
我禁用了所有扩展,只打开了 1 个 Sql 项目。然而,每当我关闭 SQL 文件时,Visual Studio 就会挂起。
Versions affected:
- 2017 Enterprise
- 2015 Enterprise
在此期间 "hang time" Visual Studio 处于无响应状态。
它保持锁定的时间似乎与 closed/are 打开的文件数量相关。
EDIT: Reproducable with devenv in SafeMode
想法?
当 .sql 文件 window 关闭时,VS 似乎正在生成 Windows 错误报告 (WER) 事件:
Fault bucket , type 0
Event Name: VisualStudioNonFatalErrors2
Response: Not available
Cab Id: 0
Problem signature:
P1: devenv.exe
P2: 15.0.26430.12
P3: vs.platform.hwndwrapper.destroy-window-error
P4: unknown
P5: Microsoft.VisualStudio.Shell.15.0
P6: Microsoft.VisualStudio.PlatformUI.HwndWrapper.DestroyWindowCore
P7: unknown
P8: unknown
P9: unknown
P10: unknown
这些与每次关闭 window 的尝试相关。取消选中构建配置管理器中的 build/deploy 框似乎没有帮助(我是 运行 VS 2017 Enterprise)。
运行 procmon 在 wermgr.exe 的句柄关闭后关闭单个 window 时在我的机器上显示 11 秒的延迟:
12:19:31.2071581 AM devenv.exe 6564 CloseFile C:\Windows\SysWOW64\wermgr.exe SUCCESS
12:19:32.7423468 AM devenv.exe 6564 Thread Exit SUCCESS Thread ID: 16288, User Time: 0.0000000, Kernel Time: 0.0000000
12:19:36.6511179 AM devenv.exe 6564 Thread Create SUCCESS Thread ID: 8576
12:19:38.1531428 AM devenv.exe 6564 Thread Exit SUCCESS Thread ID: 8576, User Time: 0.0000000, Kernel Time: 0.0000000
12:19:42.7939996 AM devenv.exe 6564 Thread Create SUCCESS Thread ID: 12052
12:19:42.7952451 AM devenv.exe 6564 Thread Exit SUCCESS Thread ID: 12052, User Time: 0.0000000, Kernel Time: 0.0000000
12:19:42.7953980 AM devenv.exe 6564 Thread Create SUCCESS Thread ID: 6892
12:19:42.7984705 AM devenv.exe 6564 RegQueryKey HKLM SUCCESS Query: HandleTags, HandleTags: 0x0
这似乎是一个产品错误,目前没有已知的解决方法。
Open MS Ticket: https://developercommunity.visualstudio.com/content/problem/67789/visual-studio-hangs-when-closing-sql-files.html
真正的解决方案将来自 MS 的更新。但是现在,关闭我对“Visual Studio 体验改善计划”的参与似乎可以解决问题。
您可以通过点击帮助 -> 发送反馈 -> 设置(2017 年,不确定 2015 年)来检查您是否注册了该计划。
我的解决方法是:
正在更新这些扩展:
- 适用于 VS2017 的 ReadyRoll
- SQL提示核心
Disabling/re-enabling VS 2017 Enterprise 上的以下扩展:
- 适用于 VS2017 的 ReadyRoll
- SQL提示核心
- SQL 搜索
虽然我试图找出导致挂起的扩展程序,但我无法确定具体的扩展程序。
无论如何,这种方法奏效了,我现在启用了所有三个扩展。
这一切都很奇怪,因为我在上周五打开了我的工作站,并打开了 VS。这个星期一早上,它在尝试打开任何 .sql 文件时就开始挂起,即使文件是空的。
我禁用了所有扩展,只打开了 1 个 Sql 项目。然而,每当我关闭 SQL 文件时,Visual Studio 就会挂起。
Versions affected:
- 2017 Enterprise
- 2015 Enterprise
在此期间 "hang time" Visual Studio 处于无响应状态。
它保持锁定的时间似乎与 closed/are 打开的文件数量相关。
EDIT: Reproducable with devenv in SafeMode
想法?
当 .sql 文件 window 关闭时,VS 似乎正在生成 Windows 错误报告 (WER) 事件:
Fault bucket , type 0
Event Name: VisualStudioNonFatalErrors2
Response: Not available
Cab Id: 0
Problem signature:
P1: devenv.exe
P2: 15.0.26430.12
P3: vs.platform.hwndwrapper.destroy-window-error
P4: unknown
P5: Microsoft.VisualStudio.Shell.15.0
P6: Microsoft.VisualStudio.PlatformUI.HwndWrapper.DestroyWindowCore
P7: unknown
P8: unknown
P9: unknown
P10: unknown
这些与每次关闭 window 的尝试相关。取消选中构建配置管理器中的 build/deploy 框似乎没有帮助(我是 运行 VS 2017 Enterprise)。
运行 procmon 在 wermgr.exe 的句柄关闭后关闭单个 window 时在我的机器上显示 11 秒的延迟:
12:19:31.2071581 AM devenv.exe 6564 CloseFile C:\Windows\SysWOW64\wermgr.exe SUCCESS
12:19:32.7423468 AM devenv.exe 6564 Thread Exit SUCCESS Thread ID: 16288, User Time: 0.0000000, Kernel Time: 0.0000000
12:19:36.6511179 AM devenv.exe 6564 Thread Create SUCCESS Thread ID: 8576
12:19:38.1531428 AM devenv.exe 6564 Thread Exit SUCCESS Thread ID: 8576, User Time: 0.0000000, Kernel Time: 0.0000000
12:19:42.7939996 AM devenv.exe 6564 Thread Create SUCCESS Thread ID: 12052
12:19:42.7952451 AM devenv.exe 6564 Thread Exit SUCCESS Thread ID: 12052, User Time: 0.0000000, Kernel Time: 0.0000000
12:19:42.7953980 AM devenv.exe 6564 Thread Create SUCCESS Thread ID: 6892
12:19:42.7984705 AM devenv.exe 6564 RegQueryKey HKLM SUCCESS Query: HandleTags, HandleTags: 0x0
这似乎是一个产品错误,目前没有已知的解决方法。
Open MS Ticket: https://developercommunity.visualstudio.com/content/problem/67789/visual-studio-hangs-when-closing-sql-files.html
真正的解决方案将来自 MS 的更新。但是现在,关闭我对“Visual Studio 体验改善计划”的参与似乎可以解决问题。
您可以通过点击帮助 -> 发送反馈 -> 设置(2017 年,不确定 2015 年)来检查您是否注册了该计划。
我的解决方法是:
正在更新这些扩展:
- 适用于 VS2017 的 ReadyRoll
- SQL提示核心
Disabling/re-enabling VS 2017 Enterprise 上的以下扩展:
- 适用于 VS2017 的 ReadyRoll
- SQL提示核心
- SQL 搜索
虽然我试图找出导致挂起的扩展程序,但我无法确定具体的扩展程序。 无论如何,这种方法奏效了,我现在启用了所有三个扩展。
这一切都很奇怪,因为我在上周五打开了我的工作站,并打开了 VS。这个星期一早上,它在尝试打开任何 .sql 文件时就开始挂起,即使文件是空的。