是否可以更改C#项目的版本格式?

时间:2009-07-29 20:17:56

标签: c# .net visual-studio-2005 assemblyinfo

我想使用日期和时间来代替版本号,而不是major.minor.build.revision格式。更像是day.month.year.time。有没有办法在AssemblyInfo.cs中更改AssemblyVersion属性的格式?

5 个答案:

答案 0 :(得分:10)

你可以在那里放置你想要的任何数字(只要它们不会溢出包含在内存中的数据类型)并随意调用它们。但是,我不确定您为什么要这样做,因为标准格式通常具有存储在 build 字段中的某种形式的日期。

例如,这是我工作的汇编版本格式:

  

5.1.729.1

这告诉我这是一个来自图书馆5.1版的程序集,建于7月29日,是当天的第一个版本。同一天的后续构建只会增加 revision 字段。

答案 1 :(得分:3)

最简单的方法是编写自己的构建任务来处理此问题,然后让.csproj文件调用您的任务以使用您的默认规则更新它。有一篇关于using a custom MSBuild task to increment version numbers的文章可以作为指南。我们过去做过类似的事情,发现它运作良好。

我不相信VS2005中有任何工具可以做到这一点。

答案 2 :(得分:1)

我建议坚持AssemblyVersion等使用的版本号的现有方案 - 它们具有众所周知的含义,并且可能会让人们混淆反对它们。

但是,您可以轻松创建自己的程序集级别属性,并将其用于您的日期/时间。遗憾的是,DateTime类型无法嵌入元数据中,因此您最好使用字符串 - 但您的属性可以在执行时将其转换为DateTime

答案 3 :(得分:0)

您可以在构建脚本中构建assemblyinfo代码的相关片段 - 使用IronPython或F#作为脚本工具很容易。

答案 4 :(得分:0)

如果您想使用脚本或类似内容自动更改这些版本。我建议使用http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx

也可以从命令行运行。