Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何指定.NET程序集的主要版本?_.net_Versioning - Fatal编程技术网

如何指定.NET程序集的主要版本?

如何指定.NET程序集的主要版本?,.net,versioning,.net,Versioning,目前,我正在使用AssemblyVersionAttribute指定已编译程序集的程序集版本。 但是,AssemblyVersionAttribute只允许指定16位版本。如何指定MajorRevision大于零?类Version的MajorRevision和MinorRevision属性分别从Revision属性计算,如Revision>>16和Revision&0xffff(尝试在反射器中打开mscorlib) 程序集版本控制不支持长度大于16位的修订号。此数据存储在程序集二进制文件的16位

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

Version
MajorRevision
MinorRevision
属性分别从
Revision
属性计算,如
Revision>>16
Revision&0xffff
(尝试在反射器中打开mscorlib)


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

否,
MajorRevision
编号:如何将65535指定为(-1)?根据说明
Revision
未定义?(省略该数字会将其设置为0。)不确定我是否理解您的第一个问题-您是否在寻找负数的解释?如果无法指定
MajorRevision
,我希望将
Revision
设置为0xFFFF,根据上面的链接,这意味着修订未定义。但是
AssemblyVersionAttribute
只允许从0到0xFFFE的整数。因此,我正在寻找一些通配符(例如“?”,类似于“*”)或其他方式来指定它。当然,通过
AssemblyVersionAttribute
不可能。对不起,我在哪里可以通过ILSpy或Reflector看到这个?是否有其他方式来指定它,例如,以另一种方式对编译器说它(更好)或者在编译后使用一些工具箱修改版本(更糟)?