Frage

Ich möchte Slow Cheetah nicht auf allen Build-Servern installieren.

Wir verwenden Slow Cheetah für Konfigurationstransformationen und es funktioniert einwandfrei.Es werden mehrere app.config-Dateien generiert und wir nehmen bei Bedarf Änderungen daran vor.

Wir haben mehrere Server eingerichtet.Alle von ihnen haben ihre Code-Repositorys, sie rufen den Code von der Befehlszeile ab und erstellen die Pakete entsprechend.Diese Codes enthalten diese Konfigurationsdateien.Wenn wir die Anwendung jedoch über die Befehlszeile kompilieren, werden mit der Transformation keine Pakete generiert, wenn Slow Cheetah nicht darauf installiert ist.Ansonsten funktioniert es gut.

Wir wissen nie, wann wir einen neuen Server und einen neuen Benutzer einrichten, daher ist es nicht möglich, Slow Cheetah auf jedem einzelnen davon zu installieren

Ist es irgendwie möglich, die langsame Cheetah-DLL in der Anwendung zu verwenden und die Transformationsmethode manuell daraus aufzurufen?

Danke

War es hilfreich?

Lösung

detaillierter Schritt für Schritt, der hier definiert ist

http://sedodream.com/2011/12/12/slowcheetahxmltransformsfromaciserver.aspx

danke

Andere Tipps

Als Alternative zu Slowlektah ist es möglich, diese Funktionalität zu handhaben, indem Sie Ihre Projektdateien manuell bearbeiten.Es ist etwas umständlich, um aufzubauen, aber es bedeutet, dass Sie keine zusätzlichen DLLs benötigen.

Öffnen Sie Ihre Projektdatei in einem Texteditor.Fügen Sie an der Unterseite der Projektdatei kurz vor dem Schluss-Tag Folgendes ein: generasacodicetagpre.

Finden Sie dann in Ihrer Projektdatei die Zeile ein und ersetzen Sie es durch Folgendes: generasacodicetagpre.

Sie müssen einen zusätzlichen Inhalt hinzufügen, der für jede von Ihnen hinzugefügte Konfiguration hinzugefügt wird - leider mit dieser Methode Sie nicht das gleiche Kontextmenü "Hinzufügen".

danach ist es ein Fall, die Dateien in Ihrem Projektverzeichnis zu erstellen, und Sie können dann sofort loslegen.Es ist nicht so glatt wie Slowtel, aber es bleibt deinen Code tragbar.

Die neueste Version von SlowCheetah (2.5.14) ist verfügbar unter Nuget.Beim Hinzufügen über Nuget wird es im gespeichert packages Ordner im lokalen Lösungsverzeichnis (wie alle Nuget-Pakete), was bedeutet, dass es jetzt auf jedem Build-Server sofort funktionieren sollte.

Ich binde SlowCheetah wie folgt in die Anwendung ein, um zu vermeiden, dass es auf den Servern installiert wird, auf denen die Lösung erstellt wird:

  1. In meinem Lösungsstamm habe ich einen Ordner „Tools“, der (unter anderem) SlowCheetah enthält
    1. myProject/Tools/SlowCheetah/SlowCheetah.Tasks.dll
    2. myProject/Tools/SlowCheetah/SlowCheetah.Transforms.targets
  2. In der .csproj-Datei des (Web-)Anwendungsprojekts habe ich Folgendes:

  <PropertyGroup>
          <SlowCheetahTargets Condition=" '$(SlowCheetahTargets)'=='' ">$(MSBuildProjectDirectory)\..\Tools\SlowCheetah\SlowCheetah.Transforms.targets  </SlowCheetahTargets>
   </PropertyGroup>

und das:

<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" />

..und es scheint die Arbeit sehr gut zu bewältigen, selbst wenn aus TeamCity erstellt/veröffentlicht wird.

Bearbeiten:

Sie finden die beiden genannten Dateien in %localappdata%\Microsoft\MSBuild\SlowCheetah\v1 (drive:\Users\yourusername\AppData\Local\Microsoft\MSBuild\SlowCheetah\v1), wenn Sie SlowCheetah in Visual Studio installiert haben.

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