0

我正在考虑将我的一个应用程序从 VS2010 移动到 VS2012。该解决方案由相当多的项目组成,因此我将尝试概述主要部分。

入口点是一个基于 .NET 3.5 SP1 的 WPF 应用程序。本项目引用了一个 .NET 2.0 类库和一个使用 VS2008 的 VC90 库编译的 .NET 2.0 C++/CLR 库。.NET 2.0 类库也使用 C++ 库。

我不使用很多外部二进制文件。事实上,除了 WiX 之外,唯一的就是 WPF 工具包 (http://wpf.codeplex.com/releases/view/29117)。

那么会发生什么?我在 Win8 上使用 VS2010 编译应用程序(为 VC90 库安装了 VS2008),一切都在每个平台上运行良好。现在,当我将解决方案移植到 VS2012(当然,再次为 VC90 库安装 VS2008 和 VS2010)并创建构建时,它在 Win7、Win8 和 Server 2008R2 上运行良好。然而,VS2012 创建的二进制文件在 XP 和 Server 2003 上启动时崩溃。我检查了安装的 .NET 3.5 SP1 并使用 VS2010 创建的二进制文件进行了验证。他们工作。

该错误是简单的崩溃报告窗口和一个事件日志条目,其中包含以下详细信息:.NET Runtime 2.0 Error Reporting Faulting application application.exe, version 1.0.0.0, stamp 50a39d24, faulting module kernel32.dll, version 5.2.3790.4480, stamping 49c51e7e ,调试?0,故障地址0x0000bef7。

这对我一点帮助都没有。关于如何解决这个问题或在哪里进一步寻找的任何想法?

提前致谢!

4

1 回答 1

1

感谢您的输入。它为我指明了正确的方向。我进行了故障转储分析,导致我重新检查了事件日志条目。事实上,我发现了另一个我之前错过的条目。有一个并行错误源于新机器上错误版本的 VC90 DLL。缺少 VS2008 SP1 安全更新。安装并重新编译解决方案后,它现在可以按预期工作。

谢谢你。

于 2012-11-21T10:22:07.137 回答