Was bewirkt die Erhöhung der Assembly-Version bei der Verwendung von asterisk?

8

Wenn ich eine Assemblyversion wie:

habe %Vor%

Wenn diese Versionsnummer gelesen wird, ist dies etwa 2013.7.18.123 .

Was verursacht die Erhöhung der endgültigen Nummer?

    
Curt 18.07.2013, 09:47
quelle

2 Antworten

13

Es ist nicht inkrementiert, das würde erfordern, dass das Build-System die vorherige Version kennt. Es hat kein solches Wissen. Sie erhalten im Wesentlichen eine Zufallszahl. Es ist nicht so zufällig, die Revisionsnummer wird aus der Tageszeit generiert. Die Build-Nummer kann auch randomisiert werden, sie wird aus dem Datum generiert.

Beachten Sie die Konsequenz der Verwendung von 2013.7.18.* , Sie können nicht garantieren, dass es eindeutig ist. Wenn Sie jemals genau die gleiche Zeit aufbauen, erhalten Sie genau die gleiche Nummer. Es wird auch nicht automatisch eine größere Versionsnummer sein, früher gebaut und du wirst rückwärts gehen. Dies sind nicht großartige Eigenschaften einer Versionsnummer.

Oder mit anderen Worten, nur die Verwendung von 1.0.* macht wirklich Sinn, die eine Versionsnummer erzeugt, die immer größer wird. Da die Build-Nummer immer größer sein wird.

Es ist auch bemerkenswert, dass Sie versuchen, das Datum in die Versionsnummer einzutragen. Wenn Sie die Build-Nummer wählen lassen, können Sie das Build-Datum immer aus dem Ergebnis rekonstruieren. Die Build-Nummer ist die Anzahl der Tage seit dem 1. Januar 2000, die Revisionsnummer ist die Anzahl der Sekunden seit Mitternacht (keine DST-Korrektur), geteilt durch zwei.

    
Hans Passant 18.07.2013, 11:54
quelle
0

AssemblyVersionAttribute-Klasse :

  

Sie können alle Werte angeben oder die Standard-Build-Nummer, die Revisionsnummer oder beides mithilfe eines Sternchens () akzeptieren. Beispiel: [assembly: AssemblyVersion ("2.3.25.1")] gibt 2 als Hauptversion, 3 als Nebenversion, 25 als Buildnummer und 1 als Versionsnummer an. Eine Versionsnummer wie [assembly: AssemblyVersion ("1.2. ")] gibt 1 als Hauptversion an, 2 als Nebenversion und akzeptiert die standardmäßigen Build- und Revisionsnummern. Eine Versionsnummer wie [assembly: AssemblyVersion ("1.2.15. *")] Gibt 1 als Hauptversion, 2 als Nebenversion, 15 als Buildnummer und die Standardrevisionsnummer an. Die Standard-Build-Nummer wird täglich erhöht. Die Standardversionsnummer ist zufällig.

    
JeffRSon 18.07.2013 09:53
quelle