是否有必要在清单文件中更改assemblyIdentity的version属性?

时间:2010-07-29 17:24:05

标签: assemblies version manifest

在以下清单中,如果在项目中指定了程序集版本(或者,在我的情况下,设置为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,你是​​我唯一的希望...... :)

1 个答案:

答案 0 :(得分:6)

汇编信息的要点是唯一地标识您的应用程序到Windows及其组件。这类似于.NET使用filename + version + ID生成的+目标处理器arch来唯一地标识程序集。

如果您选择不更改它,那么Windows组件可能看不到您的应用程序的新版本与旧版本的唯一不同。

有关Application Manifests MSDN page的更多信息。