我们的一位客户有几台64位Windows 7计算机,这些计算机在运行WPF应用程序时遇到问题。不幸的是,框架崩溃的原因是我无法通过AppDomain.CurrentDomain.UnhandledException或通过Dispatcher.UnhandledException捕获错误并获得堆栈跟踪。我已经弄清楚了以下内容:
因此,基本上所有针对最新框架的x86 WPF应用程序在这些计算机上启动时都会立即失败。这对我们来说是个问题,因为我们通常只为少数仍使用32位计算机的客户构建x86版本。由于存在一些本机依赖性,因此目前对我们而言,“任何CPU”都不可行。
应用程序本身似乎无关紧要。一个只有一个按钮且没有任何额外依赖项的简单窗口在这些计算机上将无法正常运行:
<Window x:Class="WpfTestApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button x:Name="btnOK" Content="OK" Width="75"
HorizontalAlignment="Center" VerticalAlignment="Center"
Click="btnOK_Click" />
</Grid>
</Window>
这个简单的单窗口应用程序无法在任何CPU或x86平台上运行,但如果我以x64为目标,则可以使用。
应用程序事件日志提供以下信息,但没有使我找到解决方案:
Faulting module name: KERNELBASE.dll, version: 6.1.7601.24059, time stamp: 0x5aa1f588
Exception code: 0xc06d007e
Fault offset: 0x0000c54f
Faulting process id: 0x1bc4
到目前为止,我们已经尝试了以下所有方法:
我正在寻找有关如何继续解决此问题的想法。