build-process – 如何获取Visual Studio项目的内部版本号以增加?

为什么在Visual Studio中构建项目不会增加内部版本号?

我在AssemblyInfo.cs中得到了这个:

[assembly: AssemblyVersion("1.5.*")]

…这是在frmAbout的构造函数中:

Version versionInfo = Assembly.GetExecutingAssembly().GetName().Version;
String versionStr = String.Format("{0}.{1}.{2}.{3}", versionInfo.Major.ToString(), versionInfo.Minor.ToString(), versionInfo.Build.ToString(), versionInfo.Revision.ToString());
lblVersion.Text = String.Format("Version {0}", versionStr);

但是,在对代码进行更改并构建项目(右键单击项目名称> Build)之后,versionInfo的Build部分不会增加. “关于框”中的标签来自:

Version 1.5.5465.25383

…至:

Version 1.5.5465.25999

为什么编号从5465增加到5466?为什么“修订版”会跳616个缺口?后者只是一个随机值,或源中已更改的字节数,或者是什么?

那么如何才能让构建号实际增加?

UPDATE

是的,razcor是对的,因为这显示“5465”(今天,YMWV在此之后的任何一天):

DateTime startDate = new DateTime(2000, 1, 1);
DateTime todaysDate = DateTime.Today;
int diffDays = (todaysDate.Date - startDate.Date).Days;
MessageBox.Show(diffDays.ToString());

并且,知道构建号(例如5465),可以计算和显示构建日期:

DateTime computedDate = startDate.AddDays(diffDays);
MessageBox.Show(computedDate.ToLongDateString()); // shows today's date (such as what it is today, namely: "Thursday, December 18, 2014")

最佳答案 将’0’替换为’*’内部版本号时,修订号将自动增加,但不会像你(和我)那样思考.此自动增量的规则是:内部版本号是自1.1.2000以来的天数,修订版是自午夜以来的秒数除以2.

点赞