Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
.net 当“开始”菜单中的项被拖动到WPF应用程序上时,WPF应用程序崩溃_.net_Wpf_Drag And Drop_Crash_Executionengineexception - Fatal编程技术网

.net 当“开始”菜单中的项被拖动到WPF应用程序上时,WPF应用程序崩溃

.net 当“开始”菜单中的项被拖动到WPF应用程序上时,WPF应用程序崩溃,.net,wpf,drag-and-drop,crash,executionengineexception,.net,Wpf,Drag And Drop,Crash,Executionengineexception,我遇到了一个奇怪的问题。当Windows“开始”菜单中的某个项目拖动到应用程序上时,它会崩溃 但是,如果我将文件从资源管理器拖动到它上面,它会得到正确的处理(当它在我的应用程序上时,被拖动的项目会显示一个红色圆圈,带有一条穿过它的线) 这就是奇怪的事情发生的地方。现在,我已经尝试将文件从资源管理器拖动到它上面,当我尝试从“开始”菜单拖动项目时,程序不会崩溃。只有当应用程序启动后的第一个拖动项来自“开始”菜单时,它才会崩溃 窗口和其中的所有控件都具有AllowDrop=“False”。我尝试在最外

我遇到了一个奇怪的问题。当Windows“开始”菜单中的某个项目拖动到应用程序上时,它会崩溃

但是,如果我将文件从资源管理器拖动到它上面,它会得到正确的处理(当它在我的应用程序上时,被拖动的项目会显示一个红色圆圈,带有一条穿过它的线)

这就是奇怪的事情发生的地方。现在,我已经尝试将文件从资源管理器拖动到它上面,当我尝试从“开始”菜单拖动项目时,程序不会崩溃。只有当应用程序启动后的第一个拖动项来自“开始”菜单时,它才会崩溃

窗口和其中的所有控件都具有
AllowDrop=“False”
。我尝试在最外层的控件上为
DragOver
DragEnter
添加事件处理程序,但从未命中断点

这是我得到的例外:

托管调试助手“FatalExecutionEngineError”:“运行时遇到致命错误。错误地址位于线程0x59f4上的0xc789d078。错误代码为0x8013623。此错误可能是CLR或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括COM互操作或PInvoke的用户封送错误,这可能会损坏堆栈。”

然后是这个例外:

System.ExecutionEngineeException:'引发了类型为'System.ExecutionEngineeException'的异常。'

然后应用程序退出

我正在使用Windows 10和64位。NET框架4.7.2

调用堆栈:

[外部代码]
DataExchange.dll!CWinRtTarget::DragOver(结构IDragDropArgsPriv*,结构idragioveridepriv**)未知
rpcrt4.dll!Invoke()未知
rpcrt4.dll!Ndr64StubWorker()未知
rpcrt4.dll!NdrStubCall3()未知
combase.dll!C++(IRpcStubBuffer * *,TAGPCLeMeEthys*PRPCMSG,IrPChanNealBase*PRPChannRelax)1524行C++
rpcrt4.dll!CSTDSubbuffer_Invoke()未知
[Inline Frame]combase.dll!ExvutestBuffExabyRealand Trace::(1907)C++()第二行
combase.dll!ObjeMeOraceExpPosiLink动作(vIONEXTUBUDExpRealPrand and Trace::AbjultMeOxExpExtAdvutoFixFielnFixPpExutsHutualIngIn,ExpUTHORITCHORIGRESUTP.PATABORATION HANDLIN结果,VATUL*)91行C++
[Inline Frame]combase.dll!EnvestStaseBuffError和跟踪(IrPCBuffSuff*PMSG,TAGPrCyMeMeSea*)1905行C++
combase.dll!Debug TasBuffKE(BoOBISAISYNCGROUND方法,ISEVALWALL*PSEVALLATE,IPCPChanelPuffy*PhanChanp,IrPCBuffSuff*Ptub,未签名long *PDWFACT)1974 C++
[Inline Frame]combase.dll!SycStubLoe::调用(ISErrCalk*)2031行C++
[Inline Frame]combase.dll!SycServer调用::StubInvoke(IRpcChannelBuffer *)807行C++
[Inline Frame]combase.dll!StubVoCKE(TrgPrCyMeMeSt*PMSG,CSSTDeIdEng*PSSTDID,IRpcStubBuffer *)2257 C++
combase.dll!Server Calp::ContextInvoke(TrgPrCyMeSeaS*PMESTATE,IrPCBuffSuff*Ptub,CServReals*PhanChanp,TaGIPIdItI*PIPIDIORT,未签名的long *PDWORKECT)1542 C++
[Inline Frame]combase.dll!CServerChannel:ContextInvoke(TrigpCeleMeSea*)第1438行C++
[Inline Frame]combase.dll!Debug ToCKEnBooLoad(TAGPrCyMeMeSea*)3549行C++
[Inline Frame]combase.dll!Casic StaskPosikBooLoad(Server Calp*)3313线C++
combase.dll!AppVoCKE(ServLeals*PServLeCar,CServChans*PhanChanp,IrPCBuffSuff*Ptub,Vault*PV,Vult*pStudioBuffic,TaqIPIDItxPipIdIt目,WiRealOrth.*PoCalb)1688 C++
combase.dll!CopVoCKEnLoopANDIDID(ServCalp*PServLead,TaqIPIDItxPIPIdIt目,BoOL PBCALReRealFieldRevestMasgEngEnLeChanUp)2804 C++
[Inline Frame]combase.dll!COMJULKE(Server Calk)2326行C++
combase.dll!线程调度(ServCalp*PServLeCar)422行C++
combase.dll!THEWWLDNPROC(HWND** *窗口,未签名int消息,未签名的IN 64,WPARAM,γIN 64 PARAMS)798行C++
user32.dll!UserCallWinProcCheckWow()未知
user32.dll!DispatchMessageWorker()未知
WindowsBase.ni.dll!00007ffbc7f8f138()未知

我的电脑上也会出现同样的症状,WPF创建的任何应用程序都会出现同样的症状。重新打开“开始”菜单进行修复。

尝试进入“选项->调试->输出窗口->WPF跟踪设置”。选择要完全记录的所有属性。可能在崩溃之前您会看到一些错误消息。您是否尝试以管理员身份运行应用程序?@Rekshino我现在尝试以管理员身份运行,但崩溃没有发生。我想这可能有助于缩小问题的范围。编辑:再想一想,可能不会,因为您不能将项目拖到以管理模式运行的应用程序上。但我想这与在我的应用程序中使用“AllowDrop=False”不同。
  [External Code] 
DataExchange.dll!CWinRtTarget::DragOver(struct IDragDropArgsPriv *,struct IDragUIOverridePriv * *)  Unknown
rpcrt4.dll!Invoke()    Unknown
rpcrt4.dll!Ndr64StubWorker()    Unknown
rpcrt4.dll!NdrStubCall3()   Unknown
combase.dll!CStdStubBuffer_Invoke(IRpcStubBuffer * This, tagRPCOLEMESSAGE * prpcmsg, IRpcChannelBuffer * pRpcChannelBuffer) Line 1524   C++
rpcrt4.dll!CStdStubBuffer_Invoke()  Unknown
[Inline Frame] combase.dll!InvokeStubWithExceptionPolicyAndTracing::__l6::<lambda_76d9e92c799d246a4afbe64a2bf5673d>::operator()() Line 1907 C++
combase.dll!ObjectMethodExceptionHandlingAction<<lambda_76d9e92c799d246a4afbe64a2bf5673d> >(InvokeStubWithExceptionPolicyAndTracing::__l6::<lambda_76d9e92c799d246a4afbe64a2bf5673d> action, ObjectMethodExceptionHandlingInfo * pExceptionHandlingInfo, ExceptionHandlingResult * pExceptionHandlingResult, void *) Line 91    C++
[Inline Frame] combase.dll!InvokeStubWithExceptionPolicyAndTracing(IRpcStubBuffer * pMsg, tagRPCOLEMESSAGE *) Line 1905 C++
combase.dll!DefaultStubInvoke(bool bIsAsyncBeginMethod, IServerCall * pServerCall, IRpcChannelBuffer * pChannel, IRpcStubBuffer * pStub, unsigned long * pdwFault) Line 1974    C++
[Inline Frame] combase.dll!SyncStubCall::Invoke(IServerCall *) Line 2031    C++
[Inline Frame] combase.dll!SyncServerCall::StubInvoke(IRpcChannelBuffer *) Line 807 C++
[Inline Frame] combase.dll!StubInvoke(tagRPCOLEMESSAGE * pMsg, CStdIdentity * pStdID, IRpcStubBuffer *) Line 2257   C++
combase.dll!ServerCall::ContextInvoke(tagRPCOLEMESSAGE * pMessage, IRpcStubBuffer * pStub, CServerChannel * pChannel, tagIPIDEntry * pIPIDEntry, unsigned long * pdwFault) Line 1542    C++
[Inline Frame] combase.dll!CServerChannel::ContextInvoke(tagRPCOLEMESSAGE *) Line 1438  C++
[Inline Frame] combase.dll!DefaultInvokeInApartment(tagRPCOLEMESSAGE *) Line 3549   C++
[Inline Frame] combase.dll!ClassicSTAInvokeInApartment(ServerCall *) Line 3313  C++
combase.dll!AppInvoke(ServerCall * pServerCall, CServerChannel * pChannel, IRpcStubBuffer * pStub, void * pv, void * pStubBuffer, tagIPIDEntry * pIPIDEntry, WireLocalThis * pLocalb) Line 1688 C++
combase.dll!ComInvokeWithLockAndIPID(ServerCall * pServerCall, tagIPIDEntry * pIPIDEntry, bool * pbCallerResponsibleForRequestMessageCleanup) Line 2804 C++
[Inline Frame] combase.dll!ComInvoke(ServerCall *) Line 2326    C++
combase.dll!ThreadDispatch(ServerCall * pServerCall) Line 422   C++
combase.dll!ThreadWndProc(HWND__ * window, unsigned int message, unsigned __int64 wparam, __int64 params) Line 798  C++
user32.dll!UserCallWinProcCheckWow()    Unknown
user32.dll!DispatchMessageWorker()  Unknown
WindowsBase.ni.dll!00007ffbc7f8f138()   Unknown