AssemblyInfo 内部版本号未更新
Posted
技术标签:
【中文标题】AssemblyInfo 内部版本号未更新【英文标题】:AssemblyInfo build number not updated 【发布时间】:2016-02-03 15:15:36 【问题描述】:我在AssemblyInfo.cs
中有以下代码:
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
我正在尝试确保每次构建/重建项目时Build Number
都会发生变化。但是,在那种情况下它不会。如果我在不同的日子构建它,只有 Revision
会发生变化。
我错过了什么?
【问题讨论】:
【参考方案1】:尝试注释掉 [程序集:AssemblyFileVersion("1.0.0.0")] 并且只离开 [程序集:AssemblyVersion("1.0.*")]
【讨论】:
试过了......它不起作用,我一直保持相同的内部版本号。【参考方案2】:你需要注释掉
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
MSDN 说:
您可以指定所有值,也可以接受默认构建 编号、修订号或两者都使用星号 ()。为了 例如,[assembly:AssemblyVersion("2.3.25.1")] 表示 2 作为 主要版本,3 作为次要版本,25 作为内部版本号,1 作为修订号。版本号,例如 [assembly:AssemblyVersion("1.2.")] 指定 1 作为主要版本, 2 作为次要版本,并接受默认的构建和修订 数字。版本号,例如 [assembly:AssemblyVersion("1.2.15.*")] 指定 1 作为主要 版本,2 作为次要版本,15 作为内部版本号,并接受 默认修订号。默认内部版本号递增 日常的。默认修订号是自 当地时间午夜(不考虑时区调整) 夏令时),除以 2。
【讨论】:
【参考方案3】:是不是文件版本没有变化?
第三个数字(共 4 个)是自 2000 年以来的天数。这不会随着每次构建而改变,只会随着时间的推移而改变。
改为:
[assembly: AssemblyVersion("1.0.*")]
【讨论】:
好吧,听起来很合理。那么我能否确保每次构建都更新第二个数字(共 4 个)? 如果您使用 1.0.*,那么 * 将是递增的数字。 我明白了。好的。谢谢。实际上我最终改用了“MinorRevision”变量。 但是,如果您在 AssemblyInfo.cs 中有两个条目,则不会看到此信息。 这仅对 AssemblyFile 有效。它不适用于 AssemblyFileVersion。【参考方案4】:评论一下:
[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
如果您需要更改 AssemblyFileVersion,则必须手动进行。
或者,您可以使用 T4 模板机制,如 HERE 所述
【讨论】:
以上是关于AssemblyInfo 内部版本号未更新的主要内容,如果未能解决你的问题,请参考以下文章
签入时从 TFS(Team Foundation Server)更新 AssemblyInfo.cs 版本
Visual Studio下运行PowerShell脚本自动更新项目里AssemblyInfo.cs文件的版本(自增小版本号)并发布到Nuget服务器上
如何在不使用 assemblyinfo 的情况下使用 TFS 构建自动增加版本号?