使用 JSON 反序列化方法时 VS 2013 崩溃

VS 2013 Crash When Using JSON Deserialize Method

我创建了一个 C# ASP.NET 方法,它只接受一个包含 JSON 的字符串 属性,两者都在同一个 class 中。我的问题是,每当我键入 .Deserialize 方法(注释行)时,Visual Studio 2013 都会在事件日志中出现 "Unhandled Exception" 崩溃。

public object JSONAsObject()
{
    object obj = new object();
    JavaScriptSerializer js = new JavaScriptSerializer();
    // obj = js.Deserialize<object>(this._json);
    return obj;
}

如果我在注释中写下该行(如上所述)然后删除注释就没有问题所以问题似乎与 Intellisense 或我编写代码的方式有关 - 有人有任何想法吗?

崩溃日志

Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
Stack:
   at System.Text.RegularExpressions.Regex.Escape(System.String)
   at Microsoft.OneCode.Utilities.UserControl.CodeSnippetsTextBox.UpdateRegex()
   at Microsoft.OneCode.Utilities.UserControl.CodeSnippetsTextBox.OnMyWorkCollectionChanged(System.Object, System.Collections.Specialized.NotifyCollectionChangedEventArgs)
   at System.Collections.ObjectModel.ObservableCollection`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)
   at System.Collections.ObjectModel.ObservableCollection`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InsertItem(Int32, System.__Canon)
   at System.Collections.ObjectModel.Collection`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Add(System.__Canon)
   at Microsoft.OneCode.IntellisensePresenter.ViewModel.IntellisenseViewModel.UpdateCodeSnippets(System.Collections.Generic.IEnumerable`1<Microsoft.OneCode.DataModel.CodeSearchResult>)
   at Microsoft.OneCode.IntellisensePresenter.ViewModel.IntellisenseViewModel+<>c__DisplayClass5.<SearchCode>b__2()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)

如果这需要转到 SuperUser,请告诉我。

编辑 1: 只是为了确认此问题发生在开发期间,而不是在运行时。当我输入代码时 VS 崩溃了。

编辑 2: 此问题仅发生在该特定线路上。我正在使用的系统非常庞大,我以前从未遇到过这个问题。

编辑 3: 一个全新项目中的相同问题 - 可能是 VS 2013 中的一个错误,但我不知道首先抛出异常的是什么。

Visual Studio 在使用 TBS 和 Angular JS 时一直崩溃 Visual Studio。

System.NullReferenceException was unhandled

Additional information: Object reference not set to an instance of an object.

IntelliSense 在 medium/large 项目上使用大量内存,这可能会导致崩溃和不稳定 - 您可以在 Tools/Options/Text Editor/Node.js/Statement completion/Auto 列出要避免这种情况的成员(推荐)。

正如@Jehof 在评论中建议的那样,我禁用了我的所有 VS 2013 扩展,这解决了问题。逐一启用每个扩展表明 Bing Developer Assistant 导致了问题。有一个尚未安装的更新 - 安装此更新可解决问题。

对于遇到此类问题的任何其他人,请确保 VS 和所有扩展都已完全更新。

不能使用"object",必须使用类型

Deserialize<T>()

,其中T是类型,不能是"object"