在 Release 中缺少 DLL 但在 Debug 中没有

Missing DLL in Release but not in Debug

我正在将旧 MFC 应用程序从 Visual Studio 2008 移植到 Visual Studio 2019。

在此过程中,旧的 DLL 库已合并到源代码中,以删除开发中的库构建步骤。

现在,这个程序在默认调试配置下调试时运行和运行完美;然而,在发布配置中我得到:

The code execution cannot proceed because MSVCR90.dll was not found

我想这意味着MSVCR90d.dll在调试模式下成功找到,但由于某种原因找不到DLL的发布版本。

我已经尝试了所有一般步骤,包括下载 Visual C++ 运行时可再发行组件、更改为静态链接的运行时库,以及在 Google 的第一个结果中找到的大多数其他内容。

Visual Studio的所有中间版本都安装在开发机器本地(2008、2010、2015、2017 和 2019)。

还有什么我可以尝试的吗?

所有猜测都可以避免,如果您安装 Dependency Walker https://dependencywalker.com 并准确查看发布版本和调试版本之间缺少的内容和差异。