首页 文章

访问冲突异常c#

提问于
浏览
2

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

enter image description here

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

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内存......但没有任何作用?任何人都可以请向我发送正确的方向吗?

根据要求,完整堆栈

enter image description here

3 回答

  • 4

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

  • -1

    我有一个类似的问题,最终通过向MS技术支持提交崩溃转储解决了 . 以下是他们的回复:

    要点是崩溃是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视觉样式”复选框来选择此项 .

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

  • 0

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

相关问题