随后在SSMS 2014中编写SQL查询时,我会得到一个弹出窗口“ Visual Studio遇到异常。这可能是由扩展名”引起的,还有我可以运行的提示使用 / log 参数的应用程序,并检查在我的用户的AppData目录中创建的 ActivityLog.xml 文件。
在此弹出窗口之后,IntelliSense停止更新,并且打开/关闭它无效(任何错误仍然用红色波浪线等加下划线,包括它们的鼠标悬停弹出窗口无限期保留)。请注意,即使我的脚本没有任何错误,也会发生这种情况。
但这不是真正的问题,因为我得到“价值不在预期范围内”错误每次我推倒空间键,尽管删除关键工作得很好。
在我开始使用该应用程序几个月后才出现此问题。
到目前为止,解决方法一直是将查询复制到新的查询窗口(立即生效),或者等待它随机停止。所以问题与查询窗口隔离。重现的步骤:
似乎绝对没有共性,因为它发生在语法正确/不正确的语句和长/短查询(从单个SELECT语句到数千行存储过程)的所有组合中。它也发生在不引用任何用户定义实体的语句中(例如,从系统表中选择)。
采取的故障排除步骤:
查看日志文件,它们可能在最后一条消息(比我在查询窗口中的时间更长的时间)和使用退格键引起的异常之间有两个小时的差距。
以下步骤由我公司的IT部门执行:
后来:
我似乎是唯一一个有这个问题的人,因为我公司的IT部门以前没见过,而且所有Google搜索错误消息都没有结果(我没有使用SSIS)。它已经困扰了我一个多月了,让我发疯了。
谢谢。
更新在编辑JavaScript时,我在Visual Studio 2013中遇到了类似的棘手行为,它甚至抛出了一个错误,我认为该错误与退格问题之前SSMS中抛出的第一个错误相同(但是我点击太快并在阅读前关闭它。
ActivityLog.xml中的示例堆栈跟踪
<entry>
<record>1172</record>
<time>2017/01/16 19:33:02.289</time>
<type>Error</type>
<source>Editor or Editor Extension</source>
<description>
System.ArgumentException: Value does not fall within the expected range.

at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)

at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)

at Microsoft.VisualStudio.NativeMethods.ThrowOnFailure(Int32 hr, Int32[] expectedHRFailure)

at RadLangSvc.SqlCompletionSet.GetTextTypedSoFar()

at RadLangSvc.Source.OnCommand(IVsTextView textView, VSStd2KCmdID command, Char ch)

at Microsoft.VisualStudio.Package.ViewFilter.HandlePostExec(Guid& guidCmdGroup, UInt32 nCmdId, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut, Boolean bufferWasChanged)

at Microsoft.VisualStudio.Package.ViewFilter.ExecCommand(Guid& guidCmdGroup, UInt32 nCmdId, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Package.ViewFilter.Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.Exec(Guid& guidCmdGroup, UInt32 nCmdId, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.CommandFilterWrapper.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.CommandFilterWrapper.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.CommandFilterWrapper.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.VsTextViewAdapter.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)

at Microsoft.VisualStudio.Editor.Implementation.VsKeyboardFilter.SendCommand(Guid cmdGroup, UInt32 cmdID, Object inParam)

at Microsoft.VisualStudio.Editor.Implementation.VsKeyboardFilter.TextInput(TextCompositionEventArgs args)

at Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.<DispatchTextInputEvents>b__0(KeyProcessor p, TextCompositionEventArgs args)

at Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.<>c__DisplayClass1e`1.<Dispatch>b__1a()

at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPoint(Object errorSource, Action call)
</description>
</entry>
2019更新 我们升级到VS 2017,SQL IntelliSense的行为就像以前一样。它只是完全延迟和垃圾邮件内存和CPU迫使我使用任务管理器杀死VS。
版本信息:
Microsoft SQL Server Management Studio 12.0.4232.0
Microsoft Analysis Services客户端工具12.0.4232.0
Microsoft数据访问组件(MDAC)6.1.7601.17514
Microsoft MSXML 3.0 5.0 6.0
Microsoft Internet Explorer 9.11.9600.18537
Microsoft .NET Framework 4.0.30319.36373
操作系统6.1.7601
答案 0 :(得分:1)
这是intellisense的错误,甚至在v18.5中也存在
两种解决方法:
重新打开自动列表成员(选项/文本编辑器/所有语言/常规)
如果要保留自动列表成员,则在出现错误时,按[Ctrl] + [Space]列出成员,这将用数据重新填充智能感知对象。