Ho una soluzione piuttosto grande in Visual Studio. C'è un modo per aggiornare i numeri di versione Major/Minor per tutti gli assembly nella soluzione in un colpo solo?Aggiornamento del numero di versione di tutti gli assembly in una soluzione
risposta
È possibile condividere un file AssemblyInfo.cs tra tutti i progetti nella soluzione. Questo file condiviso dovrebbe contenere i numeri di versione. Per condividerlo, è necessario utilizzare Aggiungi file esistente in VS e selezionare Aggiungi come collegamento nella finestra di dialogo del file. Ogni progetto ha il suo AssemblyInfo.cs privato e condiviso. Quello privato contiene ancora gli attributi non versione.
Ho una configurazione di TeamCity, dove sto generando il file condiviso in ogni build di TeamCity utilizzando la versione di build effettiva e funziona perfettamente.
Cerca/Sostituisci?
I numeri di versione sono archiviati in file di testo dopo tutto (AssemblyInfo.cs nella cartella Proprietà per ciascun progetto).
che funzionerebbe se tutti i gruppi erano alla stessa versione maggiore/minore. Sfortunatamente i miei sono dappertutto :) – PaulB
Vuoi semplicemente incrementarli o renderli tutti uguali? Perché puoi facilmente usare un'espressione regolare per trovarli tutti, anche se hanno numeri diversi. –
Ecco uno che funzionerebbe: \\ [assembly: \ s + AssemblyVersion \\ ("\ d + \. \ D + \. \ D + \. \ D +" \\) \\] –
Abbiamo un singolo AssemblyInfoCommon.cs che ha i numeri di versione ed è incluso in ogni progetto per riferimento. Gli altri file AssemblyInfo.cs rimangono ma contengono solo le informazioni specifiche dell'assembly (titolo e descrizione). Quindi abbiamo solo un file da aggiornare per ogni progetto C#.
È anche possibile avere una stringa di const pubblica in una delle classi, che rappresenta il numero di build e utilizzarlo in tutti i AssemblyInfo.cs per i diversi progetti. Ovviamente questo dovrebbe essere in un progetto a cui fanno riferimento tutti gli altri progetti, per funzionare.
È una buona opzione, se non ti piace l'idea di fare riferimento allo stesso AssemblyInfo.cs in tutti i tuoi progetti.
Modifica: Nota! Questo funziona anche quando si utilizzano più lingue (F # e C# nel mio caso).
C'è un programma di utilità molto utile che ho usato qualche tempo fa su un progetto che ha richiesto il controllo delle versioni altamente gestito:
http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx
Inoltre è possibile creare una certa assemblea "core" e aggiungere in ogni vostra assemblea riferimento assemblaggio "core". l'assemblaggio "core" sarà costante. In questo caso in ogni file di informazioni dell'Assembly verrà impostata la versione di assembly dalla costante "core". Ad esempio:
l'assembly "core" ha il file Ver.cs con costante: public const string Valore = "0.0.0.99";
in ciascuna soluzione Info montaggio sarà: [assembly: AssemblyFileVersion (Ver.Value)]
- 1. C# Reflection: ottieni * tutti * gli assembly attivi in una soluzione?
- 2. Aggiornamento del numero di versione del progetto su git push
- 3. Versione di assembly fissa con versione di file incrementale automatica?
- 4. jQuery Soluzione di aggiornamento elenco nidificato mobile
- 5. GetReferencedAssemblies non restituisce tutti gli assembly
- 6. Modifica numero di versione del database SQLite
- 7. come aumentare Assembly Versione numero 1 da 1
- 8. Come rimappare versione di assembly
- 9. versione Assembly ".001" diventa" .1"
- 10. Rails di aggiornamento a una versione specifica
- 11. Versione di aggiornamento di PHPMyAdmin
- 12. Confronto numero di versione all'interno del makefile
- 13. iphone Aggiornamento del database Numero
- 14. Stampa di un numero in linguaggio assembly?
- 15. Come posso elencare tutti gli assembly registrati in GAC?
- 16. Problemi di versione di NewtonSoft Json Assembly
- 17. Retargeting Tutti i progetti in una soluzione su .NET 4.5.2
- 18. Specificare la versione di pubblicazione con la riga di comando di MSBuild come versione di assembly del progetto
- 19. aggiornamento alla prossima versione di rilascio
- 20. Aggiornamento versione di Hibernate in JBOSS
- 21. Numero versione .NET (versione programma di installazione)
- 22. Come ottenere tutti gli elementi di lavoro in una iterazione?
- 23. Attributo versione NuSpec vs versione assembly
- 24. iPhone versione dell'applicazione di aggiornamento (in Impostazioni)
- 25. Gli assembly firmati impediscono l'avvio del servizio
- 26. Come precaricare tutti gli assembly distribuiti per un AppDomain
- 27. Utilizzo di Maven per l'emissione del numero di versione in un file di testo
- 28. come caricare tutti gli assembly dalla directory/bin
- 29. Come memorizzare un numero di versione in una libreria statica?
- 30. quadratura tutti gli elementi in una lista
Tendo a chiamare il file condiviso " SolutionInfo.cs "anche con cose come copyright in esso pure e salvato come elemento di soluzione per SCM con tutti i progetti che lo collegano allo stesso modo. – Richard
Ho chiamato il file VersionInfo nel mio caso :) – grover
Questo è così straordinariamente semplice (e brillantemente brillante), e un'abitudine così grande da coltivare in generale. Grazie. – GregRos