2017-04-12 7 views
3

Ich habe zwei Pakete \ Projekte "A" und "B". Wobei "B" von "A" abhängt und es als Referenz verwendet. Wenn mein Build-Prozess in TFS "A" erstellt, erstellt es ein Nuget-Paket aus dem Nuspec und gibt ihm eine neue Version und legt es auf meine privaten TFS-Pakete.Wie wird automatisch die nugget-Paketabhängigkeit aktualisiert?

Mein Problem ist die Schaffung eines gut definierten "B" -Pakets in jedem "B" -Bau. In der „B.nuspec“ Datei schreibe ich die Version des aktuellen „A“ Pakets:

<dependencies> 
    <group targetFramework=".NETFramework4.5"> 
     <dependency id="A" version="[1.0.0.3]" /> 
    </group> 
</dependencies> 

Wann immer ich ein neues „A“ Paket erstellt ich das „B“ Projekt ist Aktualisierung zu verwenden, das neue "A" release -> dies aktualisiert auch die "packages.config" mit der neuesten "A" -Version wie erwartet. Das Problem ist, dass der Build-Prozess von "B" das Paket "B" aus der Nuspec-Datei mit der alten Abhängigkeit von "A" erstellen. Und ich möchte, dass es die "A" -Version aus der "packages.config" verwendet.

Gibt es einen automatischen Weg, es zu tun? (ohne die nuspec-Datei bei jeder neuen Version von "A" manuell zu ändern) dachte ich daran, einen kleinen "Post-Build" -Prozess zu erstellen, der die Version aus der B-> "packages.config" liest und in "B.nuspec "Datei im Abschnitt" A "Abhängigkeit. Unterstützt TFS es einfacher?

Antwort

2

Ich habe ein neues Postbuildereignis hinzugefügt, das ein Skript auslöst, das die Version aus der Datei "packages.config" übernimmt und sie in die Nuspec-Datei schreibt.

Ich lade das Skript und das Postbuild-Ereignis zu meinem GIT für jeden, der es brauchen wird.

https://github.com/avrum/NuspecAutoUpdate

1

Diese Frage ist ähnlich wie die automatische Aktualisierung Ihrer NuGet Pakete bei der Erstellung Cannot automatically update a NuGet package to the latest version during build

Sie benötigen einen neuen Build-Schritt (wie Powershell-Skript), um Ihren Build-Prozess/Build-Definition hinzuzufügen, es zu erreichen.

+0

Nun, es ist nicht so ähnlich .. ich den Post-Ereignisskript hinzugefügt, die ich auf diese Frage gestellt. Vielen Dank –

Verwandte Themen