而不是major.minor.build.revision 格式,我想使用日期和时间作为版本号。更像是日.月.年.时间。有没有办法改变 AssemblyInfo.cs 中 AssemblyVersion 属性的格式?
5 回答
您可以将任何您想要的数字放在那里(只要它们不会溢出内存中包含它们的数据类型)并随意调用它们。但是,我不确定您为什么要这样做,因为标准格式通常在构建字段中存储某种形式的日期。
例如,这是我工作时使用的汇编版本格式:
5.1.729.1
这告诉我这是库 5.1 版的程序集,于 7 月 29 日构建,是当天的第一个构建。同一天的后续构建只需增加修订字段。
最简单的方法是编写您自己的构建任务来处理此问题,然后让 .csproj 文件调用您的任务以使用您的默认规则对其进行更新。有一篇关于使用自定义 MSBuild 任务增加版本号的文章可以作为指南。我们过去在这里做过类似的事情,发现它运作良好。
不过,我不相信 VS2005 中包含任何工具来执行此操作。
我建议坚持使用AssemblyVersion
etc 使用的版本号的现有方案 - 它们具有众所周知的含义,并且可能会混淆人们反对它们。
但是,您可以轻松创建自己的程序集级属性并将其用于您的日期/时间。不幸的是,该DateTime
类型无法嵌入元数据中,因此您最好使用字符串 - 但您的属性可以DateTime
在执行时将其转换为 a 。
您可以在构建脚本中构建相关的 assemblyinfo 代码片段——使用 IronPython 或 F# 作为脚本工具很容易。
如果您想使用脚本或类似的东西自动更改这些版本。我建议使用http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx
它也可以从命令行运行。