ClickOnce-Bereitstellungsminimum erforderte Version automatisches Inkrement mit MSBuild

8

Wir führen derzeit manuelle Builds / Veröffentlichungen aus Visual Studio 2010 aus und verlangen, dass Benutzer immer die neueste Version ausführen (vor dem Start überprüfen und die erforderliche Mindestversion festlegen). Ich arbeite daran, unsere Bereitstellung zu scripten und keine Probleme mit Msbuild zum Erstellen / Veröffentlichen zu haben. Ich habe jedoch keine Möglichkeit gefunden, die erforderliche Mindestversion automatisch zu inkrementieren, wenn Msbuild ausgeführt wird. Was sind meine Möglichkeiten, um dies bei der Veröffentlichung über Msbuild automatisch zu stoßen?

Ich habe hier schon einige Artikel zu diesem Thema gesehen, aber sie scheinen spezifisch für VS und nicht für MSBuild zu sein.

    
UnhandledExcepSean 19.01.2012, 16:30
quelle

4 Antworten

10

Aktualisierung der MinimumRequiredVersion automatisch

Einführung in den Projekt-Editor

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt und wählen Sie Projekt entladen.

  2. Sobald das Projekt nicht mehr verfügbar ist, klicken Sie erneut mit der rechten Maustaste und wählen Sie Bearbeiten <project_name>.<lang> proj.

Einführung in MSBuild

  1. Eigenschaften verwenden Schlüssel / Wert-Paare, um Informationen zu extrahieren

    • Wenn Sie den Eigenschaftsnamen als Alias ​​verwenden, können Sie $(OutputPath) verwenden, um den Wert für das Element <OutputPath>.\bin</OutputPath> zu erhalten.
  2. Wir verwenden die folgenden Eigenschaften, die für eine ClickOnce-Bereitstellung generiert wurden

    %Vor%
  3. MSBuild Tasks kann in der Projektdatei (* .proj) angegeben und während eines Build-Ereignisses aufgerufen werden.

    • FormatVersion ist eine integrierte Aufgabe für .NET 4.0 und höher, die die ApplicationVersion formatiert und ApplicationRevision in einer einzigen Versionsnummer.

Implementierung

  1. Kopieren Sie den folgenden Code in die geöffnete Projektdatei und fügen Sie ihn als untergeordnetes Element in das Stammelement <Project> ein.

    %Vor%

    Dieser Code übernimmt ApplicationVersion und ApplicationRevision als Parameter in der Aufgabe Formatversion und speichert die Ausgabe durch Überschreiben der MinimumRequiredVersion mit der vollständigen Veröffentlichungsversion.

  2. Speichern und laden Sie Ihr Projekt neu. Jede ClickOnce-Bereitstellung wird jetzt automatisch auf die zuletzt veröffentlichte Version aktualisiert.

Vielen Dank an Kev für die Antwort , die ich hier mit ein wenig zusätzlicher Erläuterung aufgearbeitet habe für jeden Anfänger. Hier ist ein Blogbeitrag , den ich über das Thema gemacht habe expandiert noch mehr auf meine Antwort hier.

    
KyleMit 07.12.2012, 16:29
quelle
1

Im Moment möchte ich die MinimumRequiredVersion über ein benutzerdefiniertes Befehlszeilendienstprogramm aktualisieren, das die Projektdatei einfach einliest und inkrementiert. Es ist die einzige Option, die ich für das Erstellen meines Builds entwickelt habe.

    
UnhandledExcepSean 23.01.2012 20:49
quelle
1

Ich bin mir nicht sicher, ob Sie das auf die bestmögliche Art und Weise tun.

Ich würde empfehlen, einen Continuous Integration (CI) -Server wie Team City zu verwenden, der für die Bereitstellung zuständig ist. Wenn die neueste Version des Quellcodes eine Voraussetzung für die Veröffentlichung ist, dann sollten Sie das wahrscheinlich in eine gut getestete CI-Build-Konfiguration einbauen und den potentiell vergesslichen / gelegentlich fehleranfälligen Benutzern den Vorzug geben.

    
Matt Beckman 04.03.2012 20:31
quelle
1

Da Sie mit MSBuild und nicht mit Visual Studio veröffentlichen möchten, gehe ich davon aus, dass Sie von einem Build-Server aus publizieren oder eine Art Skript verwenden. Sie können das Set-ProjectFilesClickOnceVersion-PowerShell-Skript verwenden, um sowohl die ClickOnce-Anwendungsversion festzulegen als auch die erforderliche Mindestversion zu erzwingen Die neueste version. Sie möchten dies tun, bevor Sie MSBuild ausführen. Mein Blog beschreibt ausführlicher , wie Sie Ihren Build-Server für die Veröffentlichung einrichten können ClickOnce-Anwendungen .

    
deadlydog 10.01.2017 15:44
quelle

Tags und Links