我使用的.Net 4组件使用子目录中的.manifest文件创建激活上下文(通过互操作)。
AppDir
- App.exe (.Net 4)
- App.dll (.Net 4)
---- SubDir
-------- lib.dll (Native x86)
------- lib.manifest
- App.exe (.Net 4)
- App.dll (.Net 4)
---- SubDir
-------- lib.dll (Native x86)
------- lib.manifest
当前目录= AppDir
清单路径=。\ SubDir \ lib.manifest
在Win 7中加载SubDir / lib.dll并执行正常。
在Win XP中清单文件加载正常,但系统然后尝试加载AppDir / lib.dll,而不是AppDir / SubDir / lib.dll
我通过ProcMon验证了这一点。 如果我将所有内容从SubDir复制到AppDir并指向AppDir / lib.manifest,它在XP中工作正常,即当前目录。
在SubDir中加载lib.dll需要做什么?