使用 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"
我创建了一个 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"