Frage

Unser Team entwickelt verteilte Winform-Apps.Wir nutzen ClickOnce für die Bereitstellung und sind sehr zufrieden damit.

Wir haben jedoch festgestellt, dass ClickOnce das Problem ist Erstellen die Einsätze.Wir verfügen über die standardmäßigen Entwicklungs-/Test-/Produktionsumgebungen und müssen in der Lage sein, für jede davon Bereitstellungen zu erstellen, die getrennt voneinander installiert und aktualisiert werden.Außerdem möchten wir die Kontrolle darüber haben, welche Assemblys bereitgestellt werden.Nur weil eine Assembly kompiliert wurde, heißt das nicht, dass wir sie bereitstellen möchten.

Die offensichtlich erste Wahl zum Erstellen von Bereitstellungen ist Visual Studio.VS geht jedoch nicht wirklich auf die genannten Probleme ein.Das nächste in der Reihe ist das SDK-Tool Mage.Mage funktioniert einwandfrei, aber das Erstellen von Bereitstellungen ist ziemlich mühsam und wir möchten nicht, dass jeder Entwickler unser Codesignaturzertifikat und unser Passwort hat.

Am Ende haben wir unsere eigene Bereitstellungs-App entwickelt, die die Befehlszeilenversion von Mage verwendet, um die ClickOnce-Manifestdateien zu erstellen.

Ich bin mit unserer aktuellen Lösung zufrieden, aber es scheint, als gäbe es einen branchenweit akzeptierten Ansatz für dieses Problem.Ist da?

War es hilfreich?

Lösung

Ich würde mir die Verwendung ansehen msbuild.Es ist eingebaut Aufgaben für die Handhabung von Clickonce-Bereitstellungen.Ich habe einige Referenzen beigefügt, die Ihnen den Einstieg erleichtern, wenn Sie diesen Weg beschreiten möchten.Es ist das, was ich benutze, und ich habe festgestellt, dass es meinen Bedürfnissen entspricht.Mit einem guten Build-Prozess mit msbuild sollten Sie in der Lage sein, die Schmerzen, die Sie verspürt haben, zu beseitigen.

Hier ist ausführlicher Beitrag darüber, wie die ClickOnce-Manifestgenerierung mit MsBuild funktioniert.

Andere Tipps

Ich habe nAnt verwendet, um die gesamte Build-Strategie auszuführen, aber Parameter an MSBuild übergeben, um das Bereitstellungspaket zu kompilieren und zu erstellen.

Grundsätzlich ruft nAnt MSBuild für jede Umgebung auf, in der Sie bereitstellen müssen, und generiert für jede eine separate Bereitstellungsausgabe.Am Ende erhalten Sie einen Ordner und alle ClickOnce-Dateien, die Sie für jede Umgebung benötigen, die Sie einfach auf den Server kopieren können.

Auf diese Weise haben wir auch mehrere Produktionsumgebungen gehandhabt – wir hatten separate Instanzen unserer Anwendung für die USA, Kanada und Europa, sodass jeder Build am Ende neun Bereitstellungen erstellte, jeweils drei für Entwicklung, Qualitätssicherung und Produktion.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top