2015-08-26 13 views
7

Wie kann meine ClickOnce-App mit meiner Visual Studio 2015-Lösung am einfachsten veröffentlicht werden? Ist es möglich, ClickOnce-Einstellungsparameter zu ändern, z. URL aktualisieren, wenn der Build ausgeführt wird?Veröffentlichen der ClickOnce-App mit TeamCity

Antwort

14

das ist einfach Es stellte sich heraus:

  • Build-Schritt
  • "MSBuild" Datei verweist auf die Visual Studio-Lösung
  • Build ist
  • Set "Target" auf "veröffentlichen"
  • hinzufügen „Befehl Zeilenparameter ": /property:PublishDir="C:\\Users\TeamCity\\Desktop\\publish\\" < = wo die Artefakte Clickonce gestellt bekommen

Ich hatte auch einen anderen Befehlszeilenparameter /property:InstallUrl="http://my.domain/app/", so dass ich verschiedene Installationsorte für verschiedene Builds (Test/Produktion) festlegen kann.

Ich habe dann einen Verweis auf diesen Parameter in meiner * CSPROJ Datei:

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

Sie auch * CSPROJ müssen diese können Ihre App-Version von Clickonce mit der Teamcity Build-Nummer synchronisierten zu erhalten:

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

und legen Sie die Build-Nummer Format (Build-Konfiguration> Allgemeine Einstellungen) zu 1.0.0.%build.counter%. Erhöht Dur/Moll für deine App manuell.

Was ich dann mache, ist 3 Build-Schritte mit 3 verschiedenen Versionen von oben für Entwicklung, Test und Produktion zu erstellen. Daher habe ich den gleichen Build der ClickOnce-App, der von meinen Entwicklungs-, Test- und Produktionswebsites installiert und automatisch aktualisiert wird (ich füge alle drei Builds dem Code-Repository für die Site hinzu).

Ich habe auch die "AssemblyInfo patcher" -Funktion der TeamCity Build-Konfiguration hinzugefügt und "system.Configuration" Parameter ist auf "Release" gesetzt.

Verwandte Themen