我的应用程序是在带有清单762的开发PC上编译的:
但是在运行时,在另一台PC上,应用程序使用该文件的4053版本。 C:\ WINDOWS \ WINSXS \ x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989 \ MSVCR80.DLL
在执行我的应用程序的某个地方,我收到指向msvcr80.dll的运行时错误。我怀疑问题可能是由于应用程序在运行时使用DLL而在构建期间未使用的。
如果我检查发行版PC的WinSxS文件夹,我同时拥有762和4053版本的CRT。为什么应用程序使用4053而不是清单中使用的那个?
感谢。
答案 0 :(得分:1)
由于“发布商政策”重定向了所请求的DLL版本。你的清单不应再要求762,它有傻瓜。您需要将security update部署到您的计算机上,以便更新vc \ include \ crtassem.h。