我正在考虑将我的一个应用程序从 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。
这对我一点帮助都没有。关于如何解决这个问题或在哪里进一步寻找的任何想法?
提前致谢!