F#程序集中的默认程序集修订号始终为0

Joh*_*lds 7 versioning f# visual-studio visual-studio-2012

如果我指定我想要默认的构建和修订号,我就说

[<assembly: AssemblyVersion("0.0.*")>]
Run Code Online (Sandbox Code Playgroud)

在AssemblyInfo.fs中(我基于https://blogs.msdn.com/b/mcsuksoldev/archive/2011/06/01/f-assembly-information-file-template.aspx上的示例).

出于某种原因,我总是0.0.4967.0在F#DLL中以版本号0(例如)结束,而它的工作方式与C#(例如0.0.4967.21937)中的广告相同.

默认修订号仅在内部版本号不是通配符时才有效0.0.1.*.

这是一个错误还是我错过了什么?

lat*_*kin 3

这是一个错误。它的工作方式如 VS 2010(F# 2.0,该博客是为此编写的)中所宣传的那样,但在 VS 2012 (F# 3.0) 和 VS 2013(F# 3.1,仍是预发布版本)中被破坏。您应该将错误报告发送至 fsbugs@microsoft.com。

F# 2.0 的代码位于 il.fs 的底部。寻找parseILVersion

3.0的相应代码在这里

该错误存在于新的条件中 - 他们检查 versionComponents.Length < 4,可能应该检查version.Revision < 0