3

目前,我正在使用AssemblyVersionAttribute指定已编译程序集的程序集版本。但是,AssemblyVersionAttribute只允许指定 16 位版本[1]。如何指定MajorRevision大于零?

4

1 回答 1

1

类的MajorRevisionMinorRevision属性分别由as和属性Version计算(尝试在 Reflector 中打开mscorlib )。RevisionRevision >> 16Revision & 0xffff

程序集版本控制不支持长度大于 16 位的修订号。此数据存储在程序集二进制文件的 16 位部分中。换句话说,程序集版本仅支持Version该类功能的一个子集。您可以在十六进制编辑器中看到这一点:将版本设置为 1.0.0.65534 将在编译后的 DLL 中给出十六进制字节0100 0000 0000 feff。尝试在以下两个字节中插入一个值然后检查程序集不会将版本号增加到 16 位以上。

于 2012-05-18T14:42:34.050 回答