由于正在工作,我需要在笔记本电脑,SQL Server Management Studio和Visual Studio 2017 Dev上安装最新的SQL Server(到目前为止,所有最新版本都可以在Microsoft网站上下载)。 / p>
在我安装VS 2017之前,一切工作正常(有很多选项-总安装量约为50GB,这反映了已完成的工作)。完成后,当我在选项卡之间切换时,SSMS崩溃。是。我在选项卡A中打开了查询A,然后在选项卡B中打开了查询B(连接到同一服务器),当我单击刚加载的查询B(在Windows资源管理器中双击并使用默认的.sql文件关联)时-繁荣:否错误消息,无警告。 SSMS会显示转轮5秒钟,然后重新启动。
现在显然无法使用,但是在我推挤Windows并从头开始重新安装所有组件之前,是否有人遇到过类似的问题并找到了原因?
已经尝试过SSMS修复,VS修复,SSMS重新安装,VS重新安装,SSMS卸载然后重新安装,SQl卸载+ SSMS unisntall + VS卸载(由于VS安装程序想要更新,所以无法卸载整个VS,不得不手动逐个应用),然后以Microsoft建议的顺序重新安装:SQL Server,SSMS,VS。再次-正常工作,直到VS安装完成...
任何帮助表示赞赏。
经过进一步调查后,需要固定其中一个选项卡以使崩溃发生。但是当我固定任何标签的那一刻...全部消失了。因此,SSMS和VS之间可能没有链接,但现在已复制了3次:打开选项卡,固定,打开另一个选项卡,首先单击,然后再次单击并崩溃。
经过一段时间的进一步调查(2018年10月11日):
问题再次发生在我身上。但是目前尚不清楚是 DisplayPort 还是 Displaylink到DP (因为我仍在使用DisplayLink解决方案使用端口复制器),这就是导致笔记本电脑故障的原因没有DP输出,只有HDMI。我也无法在不破坏其他人工作的情况下在其他工作站上复制问题。
DisplayPort的链接仍然存在,因此切换到HDMI仍然是一种有效的解决方法(如以下我的回答),但问题绝对是与Visual Studio某种程度上有关的软件。或至少在事件查看器中针对此错误显示的内容:
应用程序:Ssms.exe框架版本:v4.0.30319说明: 进程由于未处理的异常而终止。异常信息: System.Windows.Rect.set_Height(Double)处的System.ArgumentException 在 Microsoft.VisualStudio.PlatformUI.Shell.DraggedTabInfo.NormalizeTabHeight() 在 Microsoft.VisualStudio.PlatformUI.Shell.DraggedTabInfo.ExpandTabStripCore() 在 Microsoft.VisualStudio.PlatformUI.Shell.DraggedTabInfo.MeasureTabStrip() 在 Microsoft.VisualStudio.PlatformUI.Shell.Controls.DockPreviewWindow.OnPanelLayoutUpdated(System.Object) 在 Microsoft.VisualStudio.PlatformUI.Shell.Controls.DockPreviewWindow.OnPanelLayoutUpdated(System.Object, System.Windows.RoutedEventArgs) System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs,布尔值),位于 System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)
在 Microsoft.VisualStudio.PlatformUI.Shell.Controls.ReorderTabPanel.OnLayoutUpdated(System.Object, System.EventArgs) System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()位于 System.Windows.ContextLayoutManager.UpdateLayout()位于 System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object) 在System.Windows.Media.MediaContext + InvokeOnRenderCallback.DoWork()
在System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
在 System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object) 在 System.Windows.Media.MediaContext.RenderMessageHandler(System.Object) 在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object,Int32) System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate,System.Object,Int32,System.Delegate) System.Windows.Threading.DispatcherOperation.InvokeImpl()在 System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) 在 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback,System.Object,Boolean)在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback,System.Object,Boolean)在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback,System.Object),位于 MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback,System.Object),位于 System.Windows.Threading.DispatcherOperation.Invoke()在 System.Windows.Threading.Dispatcher.ProcessQueue()在 System.Windows.Threading.Dispatcher.WndProcHook(IntPtr,Int32,IntPtr, IntPtr,布尔值ByRef),位于MS.Win32.HwndWrapper.WndProc(IntPtr, Int32,IntPtr,IntPtr,Boolean ByRef),位于 MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object,Int32) System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate,System.Object,Int32,System.Delegate) System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan,System.Delegate,System.Object,Int32) MS.Win32.HwndSubclass.SubclassWndProc(IntPtr,Int32,IntPtr,IntPtr)
同一台笔记本电脑,与以前相同的Windows安装,相同的SSMS和VS安装。发生了什么变化:不同的扩展坞(用雷电代替USB3.0),两个外部监视器(相同型号,但标本不同)通过DP菊花链连接,并连接到扩展坞中的单个miniDisplayport输出。
直到我颠倒了菊花链的工作顺序(因此以前的显示数字2现在变为显示数字3,而笔记本电脑本机仍为主显示和数字1),一切都很好。
交换之后,问题再次出现。由于显示器被认为是新设备,因此将其设置为从其原始1920x1200分辨率为1920x1080,并且可以复制而不是扩展。将其全部设置回我想要的位置后,错误再次开始。
答案 0 :(得分:1)
经过更多调查:找到了该线程:
并在其中复制笔尖。在将更多测试问题归结为Displayport之后-罪魁祸首监视器通过USB端口复制器连接到笔记本电脑,该端口可以将显示输出到三个监视器(2xHDMI和1xDP)。当问题监视器的连接从DP更改为HDMI时,问题不再存在。