在以下清单中,如果在项目中指定了程序集版本(或者,在我的情况下,设置为MSBuild的一部分),是否有必要更改version
元素的assemblyIdentity
属性任务)?
根据this Microsoft Connect page,看起来就像项目的版本号一样,会覆盖清单的版本号。如果我错了,请纠正我......
<?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" processorArchitecture="X86" name="MyApp.exe" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
帮帮我Jon Skeet,你是我唯一的希望...... :)
答案 0 :(得分:6)
汇编信息的要点是唯一地标识您的应用程序到Windows及其组件。这类似于.NET使用filename + version + ID生成的+目标处理器arch来唯一地标识程序集。
如果您选择不更改它,那么Windows组件可能看不到您的应用程序的新版本与旧版本的唯一不同。
有关Application Manifests MSDN page的更多信息。