我们有版本的约定我们的基础,因为[大] [未成年人]。[微]。[修改],如2.1.2.33546。
我们的构建脚本会自动更新包含AssemblyInfo.cs文件
[assembly: AssemblyVersion("x.y.z.w")]
为了嵌入到组件的版本号码。
但是,我们的Subversion版本库刚刚达成的修订#65535,这打破了我们的构建。
事实证明,在版本号每个数字都有65534的最大值(可能是由于Windows的限制)。
你有没有遇到过这个问题吗? 任何一个优秀的解决方案/解决方法?
我们喜欢嵌入版本数的方案,我们显然不能简单的复位我们的Subversion服务器:-)
一个选择是只使用[AssemblyFileVersion]
; 这仍然提出了警告,但它会建立,至少包括:
[assembly: AssemblyFileVersion("1.0.0.80000")]
我们决定使用相同的约定,并且由于Windows版本号的限制,我们选择了放弃我们的版本号的“微”的一部分,以保持版本号。 我们的版本号现在[major].[minor].[revision / 10000].[revision % 10000]
所以从修订65535建造的组件具有版本2.01.6.5535。
根据MSDN的AssemblyVersionAttribute版本号的组件被限制为UInt16.MaxValue - 1
由汇编元数据 ,即你不能在汇编文件较大的数字存储。 该文件版本,马克Gravell建议,可能是够你,这取决于谁将会阅读您的版本号。