4

这是我抛出异常的代码,它今天刚刚随机开始这里是照片:

在此处输入图像描述

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

 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 optimization ,如果值没有改变则忽略 gpu 内存......但没有任何效果?任何人都可以请向我发送正确的方向吗?

根据要求,全栈

在此处输入图像描述

4

3 回答 3

5

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

于 2012-11-27T06:50:06.680 回答
0

我有一个类似的问题,最终通过向 MS 技术支持提交故障转储来解决。这是他们的回应:

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

要解决此问题,您需要更改应用程序以使其选择 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 视觉样式”复选框来选择加入。

一旦你这样做,它应该解决这个特定的访问冲突。

于 2013-10-04T17:29:38.800 回答
-1

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

于 2012-11-27T06:30:52.457 回答