WPF .NET 4应用程序在安装了.NET 4框架(未安装Visual Studio 2010)的计算机上多次单击时崩溃 [英] WPF .NET 4 application is crashing on multiple clicks with computers having .NET 4 framework(no visual studio 2010) installed

查看:62
本文介绍了WPF .NET 4应用程序在安装了.NET 4框架(未安装Visual Studio 2010)的计算机上多次单击时崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



WPF .NET 4应用程序在安装了.NET 4框架(无Visual Studio 2010)和Windows Server 2008的计算机上进行多次双击(快速)时崩溃.具有Visual Studio 2010的系统上的应用程序运行正常.

以下是例外情况详细信息:


---------------------------

---------------------------
在System.Windows.Markup.XamlReader.RewrapException(Exception e,IXamlLineInfo lineInfo,Uri baseUri)

在System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader,IXamlObjectWriterFactory writerFactory,布尔skipJournaledProperties,对象rootObject,XamlObjectWriterSettings设置,Uri baseUri)处

在System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader,布尔skipJournaledProperties,对象rootObject,XamlAccessLevel访问级别,Uri baseUri)

在System.Windows.Markup.XamlReader.LoadBaml处(流流,ParserContext parserContext,对象父级,布尔型closeStream)

在System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream,ParserContext pc)

在System.Windows.Application.LoadComponent(Uri resourceLocator,布尔bSkipJournaledProperties)

在System.Windows.Application.DoStartup()

在System.Windows.Application.& lt..ctor& gt; b__1(未使用对象)中

在System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate回调,对象args,Int32 numArgs)

在MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(对象源,委托方法,对象args,Int32 numArgs,委托catchHandler)

在System.Windows.Threading.DispatcherOperation.InvokeImpl()

在System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(对象状态)下

在System.Threading.ExecutionContext.runTryCode(Object userData)

在System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode代码,CleanupCode backoutCode,对象userData)

在System.Threading.ExecutionContext.RunInternal处(ExecutionContext执行上下文,ContextCallback回调,对象状态)

在System.Threading.ExecutionContext.Run(ExecutionContext执行上下文,ContextCallback回调,对象状态,布尔值ignoreSyncCtx)处

在System.Threading.ExecutionContext.Run(ExecutionContext执行上下文,ContextCallback回调,对象状态)处

在System.Windows.Threading.DispatcherOperation.Invoke()处

在System.Windows.Threading.Dispatcher.ProcessQueue()处

在System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,Boolean& amped)中处理

在MS.Win32.HwndWrapper.WndProc中(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,布尔值和已处理)

在MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

在System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate回调,对象args,Int32 numArgs)

在MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(对象源,委托方法,对象args,Int32 numArgs,委托catchHandler)

在System.Windows.Threading.Dispatcher.InvokeImpl中(DispatcherPriority优先级,TimeSpan超时,Delegate方法,对象args,Int32 numArgs)

在MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam)

在MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

在System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

在System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame框架)处

在System.Windows.Threading.Dispatcher.Run()

在System.Windows.Application.RunDispatcher(对象忽略)上

在System.Windows.Application.RunInternal(窗口窗口)

在System.Windows.Application.Run(窗口窗口)中

在System.Windows.Application.Run()

在Aristocrat.PlugInUIFramework.App..ctor()

在Aristocrat.PlugInUIFramework.App.Main()
---------------------------
OK
---------------------------


问候,
Jayant Kimothi

Hi,

WPF .NET 4 application is crashing on doing multiple double clicks(fast) on computers having .NET 4 framework(no visual studio 2010) and windows server 2008 installed. Application is working fine on the system which have visual studio 2010.

Below is the exception details:


---------------------------

---------------------------
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)

at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)

at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)

at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)

at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)

at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)

at System.Windows.Application.DoStartup()

at System.Windows.Application.<.ctor>b__1(Object unused)

at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

at System.Windows.Threading.DispatcherOperation.InvokeImpl()

at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)

at System.Threading.ExecutionContext.runTryCode(Object userData)

at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)

at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

at System.Windows.Threading.DispatcherOperation.Invoke()

at System.Windows.Threading.Dispatcher.ProcessQueue()

at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)

at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)

at System.Windows.Threading.Dispatcher.Run()

at System.Windows.Application.RunDispatcher(Object ignore)

at System.Windows.Application.RunInternal(Window window)

at System.Windows.Application.Run(Window window)

at System.Windows.Application.Run()

at Aristocrat.PlugInUIFramework.App..ctor()

at Aristocrat.PlugInUIFramework.App.Main()
---------------------------
OK
---------------------------


Regards,
Jayant Kimothi

推荐答案

该项目最初是VS2008项目吗?如果是这样,您在项目中仍然有对.Net 3.5程序集的引用吗?

您是否有对设计名称空间的引用?如果是这样,请将其删除.
Was this project originally a VS2008 project? If so, do you still have references to .Net 3.5 assemblies in the project?

Do you have any references to the design namespaces? If so, remove them.


基于调用堆栈,看来您正在使用自定义或第三方插件框架.与WPF相比,此框架很可能是一个问题.

通过创建一个空白的新WPF应用程序,只需要一个主窗口,就可以轻松地验证这一点.运行它,然后尝试在整个窗口表面上双击.您很可能会发现自己没有崩溃.

现在合并Aristocrat插件框架,然后重试.您可能会崩溃,也可能不会崩溃.您将不得不尝试(在此框架中)逐个功能地打开功能,直到您找到可以重现该错误的组合为止.一旦有了这些,请联系他们的支持人员并将其发送给repro项目.他们应该能够使用该信息来解决任何问题.
Based on the call stack, it seems you are using a custom or 3rd party plugin framework. It''s quite likely a problem with this framework than with WPF.

That can be easily verified by creating a blank new WPF application with nothing but a main window. Run it and try double clicking all over the window surface. You will most likely see that you do not get a crash.

Now incorporate the Aristocrat plugin framework and try again. You may or may not get a crash. You will have to experiment with turning on feature by feature (in this framework) until you hit a combination that reproduces the bug. Once you have that, contact their support and send them the repro project. They should be able to use that info to fix whatever the problem is.


这篇关于WPF .NET 4应用程序在安装了.NET 4框架(未安装Visual Studio 2010)的计算机上多次单击时崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆