2013-08-08 10 views
7

Gdybym określić, że chcę domyślne numery kompilacji i rewizji, kładęDomyślny numer wersji montaż zawsze 0 w F # zespołów

[<assembly: AssemblyVersion("0.0.*")>] 

w AssemblyInfo.fs (które na podstawie próbki w https://blogs.msdn.com/b/mcsuksoldev/archive/2011/06/01/f-assembly-information-file-template.aspx).

Z jakiegoś powodu zawsze otrzymuję numer wersji 0 (na przykład 0.0.4967.0) w F # DLL, podczas gdy działa tak, jak w reklamie C# (np. 0.0.4967.21937).

Domyślne numery wersji działają tylko wtedy, gdy numer kompilacji nie jest symbolem wieloznacznym, 0.0.1.*.

Czy to błąd, czy też coś przeoczyłem?

+0

Właśnie sprawdziłem, czy ten błąd nadal występuje w VS2013. –

+0

... ale odszedł w VS2015. –

Odpowiedz

3

To jest błąd. Działa tak, jak reklamowano w VS 2010 (F # 2.0, dla którego napisano ten blog), ale jest uszkodzony w VS 2012 (F # 3.0) i VS 2013 (F # 3.1, wciąż przed wydaniem). Powinieneś wysłać zgłoszenie błędu na adres [email protected]

Kod dla F # 2.0 znajduje się na dole il.fs here. Wyszukaj parseILVersion.

Odpowiedni kod dla wersji 3.0 to here.

Błąd jest w nowych warunkach - sprawdzają one versionComponents.Length < 4, prawdopodobnie powinien sprawdzić version.Revision < 0.

+0

Raport o błędach wysłany! –