当我不使用 MFC 时,为什么会出现 MFC 运行时错误?

Why do i get MFC runtime error when I am not using MFC?

我正在尝试 运行 客户端虚拟驱动程序 dll(本质上这不是驱动程序,它是用户模式代码)。此 dll 由 Citrix 客户端加载,该客户端具有 CRT、MFC、MFCLOC 的清单,全部指向 Visual Studio 2005.

我已将我的 dll 链接到与 Citrix 客户端一起安装的清单文件中找到的确切版本的 C++ 运行time。

现在,我的 DLL 是没有 MFC 调用的纯 win32 代码,但我得到 'error generating activation context for MFC80.dll'


留言

"C:\Program Files (x86)\Citrix\ICA Client\MFC80.DLL" 的激活上下文生成失败。第 5 行的清单或策略文件 "C:\Program Files (x86)\Citrix\ICA Client\Microsoft.VC80.MFCLOC.MANIFEST" 中有错误。在清单中找到的组件标识与请求的组件标识不匹配。参考是 Microsoft.VC80.MFCLOC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50608.0"。定义是 Microsoft.VC80.MFCLOC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"。请使用sxstrace.exe进行详细诊断。

1) 安装 SxSTrace 中列出的运行时,解决了问题。