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
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".