基于 Windows Server 2012 R2 构建的应用程序在 windows Server 2008 R2 上失败

Application built on Windows Server 2012 R2 fails on windows server 2008 R2

我在 windows 服务器 2012 R2 上构建了 MFC 应用程序。它在非构建机器 Windows Server 2012 R2 上运行良好。但它无法在 Windows Sevrer 2008 R2 上启动。

两台机器都是64位的。有关 MFC 应用程序的更多信息。 我的应用程序既有托管的也有非托管的 code.I 有一个 dll 支持公共语言运行时 CLR。我在运行时加载它。我的应用程序针对 .NetFramework4.0

我在 Windows Server 2008 R2 机器上同时安装了 .netframework4.0 和 .netframework4.5。仍然无法启动应用程序。

常见的故障排除工具之一是查看 Event Viewer 以查看它是否记录了任何异常。

您的非托管 DLL 可能缺少依赖项。一种常用的检查工具是 Dependency Walker.

基于 Windows Server 2012 R2 构建的应用程序,它与 Boost 库静态链接。

场景是这样的,我同时拥有托管和本机构建的库。当我引用静态链接到 Boost 库的 C++\CLI 库时,链接器加载失败。

解决方法: Link 动态提升库。