对内部异常有两个请求
得到了错误
这是内部异常:
InnerException: System.Runtime.InteropServices.COMException
Message=Retrieving the COM class factory for component with CLSID {606574F0-9DE1-47A4-8310-DB87E34EAB58} failed due to the following error: 80070032 The request is not supported. (Exception from HRESULT: 0x80070032).
Source=mscorlib
ErrorCode=-2147024846
StackTrace:
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Laber2a.MainWindow..ctor() in \\txxx\c$\Laber\share\MainWindow.xaml.cs:line 49
InnerException:
这是第 49 行:
private IPROXLINK.IPRODDE iproDDE = new IPROXLINK.IPRODDE();
这是我们通过 DDE 与之通信的 com 应用程序
它就是这样
由于此行位于私有顶部,因此未捕获
我的想法是将新的移动到 ctor 以便我可以捕获它
抱歉,当我报告该应用程序仅使用 Microsoft 组件时 - 很确定这是唯一的非 Microsoft 组件。
那个clasid是IPROXLINK.IPRODDE,所以很确定它是罪魁祸首。
还会收到一些 Keberos 票证错误,从而导致 IPROXLINK.IPRODDE 失败。
与 IPROXLINK.IPRODDE 的集成仅对某些操作至关重要
如果它可以被捕获,然后只是向用户报告集成不适用于当前会话,这显然比应用程序没有以未捕获的错误启动更好
请让我知道我还能提供什么
已运行一年多的生产 .NET WPF 应用程序
在此期间进行了多次升级
当前版本已经存在一个多月
它还在测试中失败了一个新版本(偶尔)
在过去两天中,启动失败,错误日志如下。
当它失败时,它会立即失败。
如果它加载,那么它是稳定的。
它在波浪中前进。
我可能开始 20 次很好,然后连续 5 次无法开始。
重新启动似乎没有帮助。
在多台机器上出现相同的症状。
最后一组 Windows 更新是 8/15
WPF 应用程序,它只使用 Microsoft 控件和一个似乎是问题的旧 com。
无法在 VisualStudio 调试模式下重现该错误。
在查看偶数日志时,这个错误在 7/17 和 7/19 之间被抛出了几次。
然后直到昨天才出现该错误的条目,并且有 20 个。
我可以做些什么来隔离和修复错误?
在一次失败中,它说第 5 行是
xmlns:local="clr-namespace:Laber"
应用程序错误日志:
应用程序:Laber.exe 框架版本:v4.0.30319 描述:进程因未处理的异常而终止。异常信息: System.Windows.Markup.XamlParseException 堆栈:在 System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri) 在 System.Windows.Markup.WpfXamlLoader.Load(System. Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri) 在 System.Windows.Markup.WpfXamlLoader.LoadBaml (System.Xaml.XamlReader, Boolean, System.Object, System .Xaml.Permissions.XamlAccessLevel, System.Uri) 在 System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean) 在 System.Windows.Application.LoadBamlStreamWithSyncInfo (System.IO.Stream,System.Windows。
然后之后(最近的时间得到这个错误)
Faulting application name: Laber.exe, version: 1.0.0.0, time stamp: 0x521547a3
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a
Exception code: 0xe0434352
Fault offset: 0x0000c41f
Faulting process id: 0xde8
Faulting application start time: 0x01ce9f3d46607243
Faulting application path: C:\Laber\Zipper\bin\Debug\Laber.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
Report Id: 85537cb3-0b30-11e3-922e-3efeb4ee1870