WPF应用程序在Windows Server 2008上崩溃



我收到了一份关于WPF应用程序的错误报告,该应用程序无法在Windows Server 2008 Service pack 2服务器中启动(该应用程序是我们分发给客户的管理工具(。由于这个应用程序有很多外部引用,我试图通过使用Visual Studio 2013创建一个简单的WPF应用程序来简化这个问题:一个纯白色窗口,显示"你好世界",仅此而已。我试着让它在生产服务器上运行,但没有成功:它总是立即崩溃。

这是我的:

  • 应用程序是用WPF的标准VS2013模板创建的,因此它有3.5作为目标框架;我把它改成了4.6
  • 服务器安装了3.5 SP1和4.6版本的.net框架
  • app.config格式良好,顶部有configSections部分,除了根据目标框架版本设置的log4net、supportedRuntime标记之外,没有其他引用
  • 我已经检查了项目中是否没有3.5版本的项目引用
  • 我已经尝试登录DispatcherUnhandledExceptionAppDomain.UnhandledException处理程序
  • 应用程序在我的开发环境中运行
  • 只有当我将目标框架更改为3.5时,应用程序才会在生产环境中运行。在这种情况下,将显示WPF窗口,并正确生成日志文件
  • 我已经尝试过生成一个转储并尝试在Visual Studio中调试它:我只收到一条"Source not available"消息和一个以ntdll.dll结尾的堆栈跟踪!NtWaitForSingleObject((

以下是错误详细信息:

描述:

停止工作

问题签名:

问题事件名称:APPCRASH

应用程序名称:MyApp.exe

应用程序版本:1.0.0.0

应用程序时间戳:5bfc07f1

故障模块名称:KERNEL32.dll

故障模块版本:6.0.6002.24367

故障模块时间戳:5ae3dcd9

异常代码:e0434352

异常偏移:00000000000 1667d

操作系统版本:6.0.6002.2.2.0.272.7

区域设置ID:1033


Windows事件日志显示的信息很少:

出现故障的应用程序MyApp.exe,版本1.0.0.0,时间戳0x5bfc07f1,出现故障的模块KERNEL32.dll,版本6.0.6002.24367,时间戳0x%5ae3dcd9,异常代码0xe043352,故障偏移量0x000000000001667d,进程id 0x%9,应用程序启动时间0x%10。

应用程序:MyApp.exe

框架版本:v4.0.30319

描述:由于出现未处理的异常,进程已终止。

异常信息:异常代码e043352,异常地址00000000 77A6667D

堆栈:[这是空的]


有什么建议吗?

为了防止其他人遇到同样的问题,微软的KB4457921更新似乎以某种方式解决了这个问题。如果无法进行更新,请考虑将代码移植回.net framework v.3.5。

最新更新