为什么我的Windows清单中有重复的条目?
以下清单已添加到my.exe:为什么我的Windows清单中有重复的条目?,windows,manifest,Windows,Manifest,以下清单已添加到my.exe: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2"> <
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
<ms_asmv2:security>
<ms_asmv2:requestedPrivileges>
<ms_asmv2:requestedExecutionLevel level="asInvoker" />
</ms_asmv2:requestedPrivileges>
</ms_asmv2:security>
</ms_asmv2:trustInfo>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
但当我查看清单时,例如使用Kenny Kerr的清单查看应用程序时,windowsSettings和dpiAware标记似乎是重复的:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
... general properties ...
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
你知道为什么会发生这种情况吗?它会引起任何问题吗?在做了大量的实验并尝试了不同版本的mt.exe来嵌入一些网站上建议的清单之后,我注意到了一种模式;在我看到的所有示例中,清单文件名似乎总是与项目或可执行文件名匹配,但附加了“.manifest” 我的清单文件名不完全匹配,因此我重命名它以匹配我的应用程序的Visual Studio项目名称。我还将清单工具属性中的“附加清单文件”选项更改为“$ProjectDir$ProjectName.Manifest”,而不是以前的硬编码文件名
这些更改一起起作用,并为我提供了一个具有正确嵌入清单的可执行文件。附加清单文件导致清单与自动生成的清单合并。app.exe.manifest是最终生成的清单的通用名称,因为使用此名称,它可以放置在与“app.exe”相同的文件夹中,并由系统加载,而不必作为资源嵌入。这也是为什么选择完全相同的名称对于清单片段(即通过附加清单文件添加的清单)是一个坏主意,因为您现在有一部分最终清单伪装为完整清单。