2013-04-09 5 views
7

Nella mia soluzione ho tre progetti: un progetto di base e un client e un server che fanno riferimento alla base.Come si sincronizzano le versioni tra i progetti di Visual C#?

Quello che mi piacerebbe fare è essere in grado di impostare la versione di assemblaggio del file di progetto di base e farlo propagare automaticamente al server e al client in modo che le loro versioni corrispondano sempre. Idealmente, questo sarebbe un passo pre-build per sincronizzarli.

Qualcuno sa se questo è possibile o come farei a farlo?

risposta

7

Quello che facciamo è molto simile a Chris' risposta:

Abbiamo un progetto chiamato ProductVersion, dove 'Prodotto' è in realtà il nome del prodotto. All'interno c'è una classe statica chiamata VersionInformation che contiene stringhe costanti inclusa una chiamata ProductVersion, che è il punto in cui vengono effettivamente impostate le informazioni sulla versione.

Poi, nel fascicolo di ogni progetto AssemblyInfo.cs, la nostra linea AssemblyVersion assomiglia a questo:

[assembly: AssemblyVersion(Company.Product.VersionInformation.ProductVersion)] 

Nel tuo caso, dal momento che sia il client e il riferimento del server il progetto base, si può solo includere qualcosa di simile al progetto di base invece di creare un progetto separato.

+0

Perfetto. Grazie! –

5

Spostare le informazioni sulla versione in un file separato (ad esempio AssemblyVersion.cs) nella directory principale della soluzione. Quindi rimuovere le informazioni sulla versione dal file AssemblyInfo.cs di ciascun progetto e aggiungere il file AssemblyVersion condiviso a ciascun progetto come collegamento.

  1. Fare clic destro del progetto, scegliere Aggiungi elemento esistente
  2. Individuare il file condiviso, fare clic sulla piccola freccia sul pulsante Aggiungi e selezionare Aggiungi come collegamento
  3. Trascinare il file risultante nella cartella Proprietà all'interno di ogni progetto.
  4. ???
  5. Utile!
+0

Soluzione interessante, ma devo dire che Joel è più pulito con il nostro setup. Grazie! –

Problemi correlati