访问冲突exceptionc#

这是我的代码抛出一个exception,它只是今天随机开始这里是照片:

在此处输入图像描述

这是整个页面代码和错误exception:

public frmWFDocumentDetail() { InitializeComponent(); NavigationInTransition navigateInTransition = new NavigationInTransition(); navigateInTransition.Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardIn }; navigateInTransition.Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardIn }; NavigationOutTransition navigateOutTransition = new NavigationOutTransition(); navigateOutTransition.Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardOut }; navigateOutTransition.Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardOut }; TransitionService.SetNavigationInTransition(this, navigateInTransition); TransitionService.SetNavigationOutTransition(this, navigateOutTransition); DataContext = App.ViewModel_WFDocumentDetailItems; } protected override void OnNavigatedTo(NavigationEventArgs e) { //**this is how you pass parameters through to a new page**// string processID = "-1"; string processName = ""; NavigationContext.QueryString.TryGetValue("processID", out processID); NavigationContext.QueryString.TryGetValue("processName", out processName); App.ViewModel_WFDocumentHeaderItems.LoadData("johnny", processID); App.ViewModel_WFDocumentDetailItems.LoadData("johnny"); } 

和访问冲突:

System.AccessViolationException:尝试读取或写入受保护的内存。 这通常表明其他内存已损坏。

我已经读过它了,有人说它是nvidia网络管理员,有人说我必须设置一些像Suppress JIT优化的设置,并且如果值没有改变则忽略gpu内存……但没有任何作用? 任何人都可以请向我发送正确的方向吗?

按要求,完整堆栈

在此处输入图像描述

我使用设置taylorjohnl给了我“调试 – >选项和设置 – >调试 – >常规 – >启用我的代码”,然后错误直接到xaml的一个语法错误,并繁荣修复它和应用程序再次工作:)所以违反错误对我来说基本上是一个参考错误,希望这也可以帮助其他人,也使用表达混合在silverlight中调试UI中的xaml

我遇到了类似的问题,最终通过向MS Tech Support提交故障转储解决了这个问题。 以下是他们的回复:

要点是崩溃是comctl32.dll(Windows公共控件)5.0版中的一个已知错误,它随Windows操作系统一起提供。 此错误不会在5.0版的常用控件中修复,因为该版本适用于Windows XP之前的应用程序。 它已经在comctl32.dll的6.0版本中得到修复,它包含在Windows XP及更高版本中。 请注意,自Windows XP以来,每个版本的Windows都包含两个版本的comctl32.dll(5.0和6.0)。 较旧的应用程序只是出于向后兼容的目的。

要解决此问题,您需要更改应用程序以使其选择进入comctl32.dll版本6.0。 在Windows窗体应用程序中,这是通过在应用程序启动时调用Application.EnableVisualStyles方法来完成的。 如果您正在C#项目中进行开发,那么您可以通过在应用程序入口点内的Application.Run调用之前添加调用来完成此操作。 例如:

  [STAThread] static void Main() { Application.EnableVisualStyles(); //Add this line Application.Run(new Form1()); } 

如果您在Visual Basic .Net项目中,可以通过转到项目属性,然后在“应用程序”属性页上选中“启用应用程序框架”和“启用XP视觉样式”复选框来选择此项。

执行此操作后,它应解决此特定访问冲突。

InitializeComponent()中的代码是什么? 有一些类在其中引用null,(主要是事件处理程序)。 一旦触发,它将报告AccessViolation。