Microsoft Build Version:将MajorRevision和MinorRevision合并为Revis
本文关键字:MinorRevision 合并 Revis MajorRevision Build Version Microsoft | 更新日期: 2023-09-27 18:15:46
我有一个5部分构建版本(ex 1.9.0.0.1),我想转换为4部分。我使用下面的代码来组合主要和次要的修订。
new Version(major, minor, build, majorRevision | (minorRevision << 16)
结果是1.9.0.65536,但是允许的最大值是65535。把大修和小修结合起来的正确公式是什么?
谢谢
您不仅可以使用由三部分组成的版本号(因为它包含次要和主要版本号):
new Version(major, minor, build)
,但你也可以使用版本构造函数(String):
string version = major + "." + minor + "." + build + "." + (majorRevision | (minorRevision << 16));
var ver = new Version(version);
但是它不会删除错误,因为它会自动将拆分的字符串解析为整数。所以我建议使用三部分的版本…
您可以使用System.Reflection.Assembly.GetExecutingAssembly()
访问您的版本并创建您自己的版本字符串:
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
string myVersion = assembly.GetName().Version + ".";
int major = int.Parse(myVersion.Split('.')[0]); // Get the major version number
int minor = int.Parse(myVersion.Split('.')[1]); // Get the minor version number
myVersion += (major | (minor << 16)) + ""; // Append the rest
Version的文档中也有很好的例子。修改属性!他们甚至描述了你问题的答案:
Version interim = new Version(2, 4, 1128, (100 << 16) + 2);
// major.minor.build.majRev/minRev = 2.4.1128.100/2
但是仍然要考虑它是否真的适合你的用例!