per quanto riguarda la convenzione , il software NuGet stesso, e la semantica si applica ai pacchetti in galleria, fa delle versioni come descritto da SemVer. In particolare è possibile designare versioni beta con il suffisso del numero di versione di nuspec con "-beta.4" o qualcosa del genere. Ad esempio, vedi come la galleria visualizza the latest version of AutoFac e confronta come visualizza an old release ( nota il testo "Questa non è l'ultima versione di Autofac disponibile."Modifica: La galleria non sembra più fornire alcun messaggio speciale per non -correnti correnti) e an old PRE-release version (con il testo "Questa è una versione preliminare di Autofac.").
Sfortunatamente, lonon può contenere lettere o trattini, pertanto non può essere utilizzato in questo modo. Tuttavia lo AssemblyInformationalVersion
MAGGIO contiene lettere e trattini e, se lo fornite, NuGet lo utilizzerà al posto dello AssemblyVersion
per sostituire il token $version$
nel file nuspec. Inoltre, lo AssemblyInformationalVersion
(chiamato anche "Versione prodotto" se si controllano i dettagli di una DLL in Windows Explorer), almeno per me, rappresenta meglio ciò che dovrebbe corrispondere alla versione di NuGet.
Ho una leggera preoccupazione con questo approccio in quanto io sono prevede di lasciare il AssemblyVersion
lo stesso attraverso varie iterazioni beta e un'iterazione produzione finale del AssemblyInformationalVersion
, il che significa che sto permettendo diverse versioni della mia DLL in il selvaggio che può comportarsi in modo diverso o errato, tuttavia sono tutti identici per quanto riguarda il CLR (il CLR solo si prende cura di AssemblyVersion
). In pratica, tuttavia, ciò accade frequentemente (incluso con i pacchetti AutoFac sopra descritti) e non sembra causare problemi.
Vedere le due eccellenti risposte più votate a What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion? per ulteriori informazioni su AssemblyInformationalVersion
e amici.
fonte
2013-08-14 17:13:29