我有以下情况:
组件之间的关系是:
EXE - >> myDLL>> 3rdPartyDLL
我想在myDLL.manifest(使用mt.exe编译它)中设置第三方DLL的引用,如下所示: myDLL.manifest
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="myDLL"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="ThirdPartyDLL" version="1.0.0.0"/>
</dependentAssembly>
</dependency>
<file name ="myDLL.dll"/>
</asmv1:assembly>
但是当我启动EXE时会引发异常,因为它没有找到3partyDLL。 它只有在我也插入EXE.manifest依赖于3rdPartyDLL时才有效。
但是在这种情况下,每当第三方DLL更改版本时(也适用于小修补程序),我需要重新编译EXE以将清单嵌入其中。
我试图深入了解这种情况的一些实际例子,但我没有找到任何东西。 有没有关于它的参考或实际例子?
答案 0 :(得分:0)
您的系统上的3rdPartyDLL在哪里?它是与exe的文件夹相同还是在其他路径中?而不是在EXE.manifest中添加3rdPartyDLL的依赖项,确保3rdPartyDLL与exe的文件夹在同一文件夹中。