Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在此之后应用程序崩溃。在windows 10上关闭_C#_Wpf_Windows 10_Prism - Fatal编程技术网

C# 在此之后应用程序崩溃。在windows 10上关闭

C# 在此之后应用程序崩溃。在windows 10上关闭,c#,wpf,windows-10,prism,C#,Wpf,Windows 10,Prism,我的C#/WPF/Prism应用程序中遇到了一个可疑问题。我制作了一个方法,在互斥锁的帮助下阻止第二次和更多的执行。这适用于Windows7。当我尝试使用Windows 10运行此应用程序时,应用程序第一次按预期启动,第二次启动有时只会显示我的错误消息,但大多数情况下会显示我的错误消息,单击确定后,会弹出一个Windows对话框,显示“程序已停止工作”。Windows 10系统的事件日志中有一个新的应用程序日志条目 Faulting application name: application.n

我的C#/WPF/Prism应用程序中遇到了一个可疑问题。我制作了一个方法,在互斥锁的帮助下阻止第二次和更多的执行。这适用于Windows7。当我尝试使用Windows 10运行此应用程序时,应用程序第一次按预期启动,第二次启动有时只会显示我的错误消息,但大多数情况下会显示我的错误消息,单击确定后,会弹出一个Windows对话框,显示“程序已停止工作”。Windows 10系统的事件日志中有一个新的应用程序日志条目

Faulting application name: application.name, version: 0.1.11.0, time stamp: 0x5a01baef
Faulting module name: KERNELBASE.dll, version: 10.0.16299.15, time stamp: 0x2cd1ce3d
Exception code: 0xc000041d
Fault offset: 0x001008b2
Faulting process ID: 0x19bc
Faulting application start time: 0x01d357cfe3c8bc58
Faulting application path: 
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report ID: 525f81c7-cccb-49f3-9c25-01c877056b83
Faulting package full name: 
Faulting package-relative application ID: 
如果在this.shutdown之后添加Messagebox.Show语句,则该过程在Windows 10下运行正常,但这可能不是正确的解决方案

只有当应用程序通过双击在VisualStudio中运行的exe来运行时,才会发生这种情况,并且不会重现这种错误行为。我还附加了一个全局异常处理,它也不会导致此错误

谢谢你帮我找到解决办法

编辑:最小示例

protected override void OnStartup(StartupEventArgs e)
      {
         // Global exception handling
         Application.Current.DispatcherUnhandledException += new DispatcherUnhandledExceptionEventHandler(AppDispatcherUnhandledException);

         try
         {
            // getting the settings
            ISettingsRepo _settingsRepo = new SettingsRepo();
            if (mutex.WaitOne(TimeSpan.Zero, true))
            {
               Bootstrapper bs = new Bootstrapper();
               bs.Run();

               mutex.ReleaseMutex();
            }
            else
            {
               var messageText = "nostart";
               MessageBox.Show(messageText, System.Windows.Application.Current.Resources["ApplicaionTitle"].ToString(), MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);

               this.Shutdown();
            }
         }
         catch (Exception ex)
         {
            throw ex;
         }
      }

尝试此-环境。退出(0)

试试这个环境。退出(0)

考虑发布一个。至少共享相关代码。也就是说,我们只能做出(坏的)猜测。我用一个最小的和剥离的例子编辑它,不知道这是不是问题,但是你的应用程序在第一个开始时永远不会离开<代码> OnStudio事件处理程序直到关闭……考虑发布一个。至少共享相关代码。就目前而言,我们只能做出(不好的)猜测。@Fildor我用一个最小的精简示例编辑了它。我不知道这是否是问题所在,但你的应用程序在第一次启动时将永远不会离开
OnStartup
事件处理程序,直到关闭为止…谢谢-我以前尝试过这个-但都没用汉克斯-我以前尝试过这个-而且也没用