Jus*_*tin 5 msvcrt side-by-side
我有一个嵌入了以下清单的程序集:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
Run Code Online (Sandbox Code Playgroud)
在我的一台机器上,这个组件不起作用(组件无法加载).在依赖walker中打开它给我以下错误消息:
Error: The Side-by-Side configuration information for "SomeAssembly.dll" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
Run Code Online (Sandbox Code Playgroud)
相同的程序集在另一台机器上工作正常,并且我没有得到依赖walker的错误.
至于我可以工作出了问题是由于第一台机器缺少某种(例如MSVCR可再发行)的依赖,但是我已经检查和微软的Visual C++ 2005可再发行组件安装罚款在两台机器上.
我该如何找出遗漏的依赖是什么?
我注意到的唯一事情是工作机器上的WinSxS目录有一个额外的条目:
x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_473666fd
Run Code Online (Sandbox Code Playgroud)
已排序!
有人好心地向我指出,Dependency Walker 中提到的“SomeAssembly.dll”实际上与我在 Dependency Walker 中打开的 dll 不同!(哎呀!)
查看此程序集的清单,我可以看到问题是由于 Microsoft.VC80.CRT v8.0.50727.4053 是目标,但此计算机上不存在。(通过安全更新安装)。
| 归档时间: |
|
| 查看次数: |
32322 次 |
| 最近记录: |