2015-08-26 19 views
7

Qual è il modo più semplice per pubblicare la app di ClickOnce sulla mia soluzione Visual Studio 2015? È possibile modificare i parametri delle impostazioni ClickOnce, ad es. Aggiorna URL, quando esegui la compilazione?Pubblica l'app ClickOnce con TeamCity

risposta

14

Risulta questo è facile:

  • passaggio di generazione è "MSBuild"
  • punti build file alla soluzione Visual Studio
  • Set "Target" a "pubblicare"
  • Aggiungi "Comando parametri linea ": /property:PublishDir="C:\\Users\TeamCity\\Desktop\\publish\\" < = dove i manufatti ClickOnce vengono messe

Avevo anche un altro parametro della riga di comando /property:InstallUrl="http://my.domain/app/" così posso impostare diverse posizioni di installazione per diverse build (test/produzione).

Ho poi aggiunto un riferimento a questo parametro nel mio * Csproj file:

<InstallUrl Condition="'$(InstallUrl)' == ''">http://default.domain/app/</InstallUrl> 
<InstallUrl Condition="'$(InstallUrl)' != ''">$(InstallUrl)</InstallUrl> 

Potrebbe anche essere necessario in questi * Csproj per ottenere la versione app ClickOnce sincronizzati con il numero di build TeamCity:

<ApplicationVersion Condition="'$(build_number)' == ''">1.0.0.2</ApplicationVersion> 
<ApplicationVersion Condition="'$(build_number)' != ''">$(build_number)</ApplicationVersion> 
<BuildNumber Condition="'$(build_number)' == ''">1.0.0.2</BuildNumber> 
<BuildNumber Condition="'$(build_number)' != ''">$(build_number)</BuildNumber> 

e impostare il formato di numero di build (Build Configurazione> Impostazioni generali) per 1.0.0.%build.counter%. Incremento di maggiore/minore per la tua app manualmente.

Quello che faccio ora è creare 3 passi di costruzione con 3 diverse versioni di cui sopra per sviluppo, test e produzione. Quindi ho la stessa build dell'app ClickOnce che installerà e aggiornerà automaticamente dai miei siti di sviluppo, test e produzione (aggiungo tutte e 3 le build al repository di codice per il sito).

Aggiungo anche la funzione "AssemblyInfo Patcher" alla configurazione build di TeamCity e "system.Configuration" Il parametro è impostato su "Release".