Ich möchte eine Build-Nummer erstellen, die aussieht wie Major.minor.Date.LastChangeSetInTFS, das Problem besteht darin, wie die letzte Änderungssatznummer aus dem TFS abgerufen wird. Gibt es irgendeine Eigenschaft oder etwas?TFS- und Msbuild-Versionsnummer mit dem letzten Änderungssatz
Antwort
OK endlich habe ich eine Lösung gefunden. Im Folgenden finden Sie eine Aufgabe, mit der Sie die letzte Änderungssatznummer erhalten und eine Eigenschaft zum Einfügen in eine Assembly-Info-Build-Nummer erstellen können. Das Hauptproblem war in der fehlenden TfsLibraryLocation Eigenschaft (ohne es, soll es zu Bibliotheken in GAC werden zeigen, aber es kam nicht)
<Target Name="GetVersionChangeSet">
<TfsVersion
TfsLibraryLocation="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"
LocalPath="$(SolutionRoot)">
<Output TaskParameter="Changeset" PropertyName="ChangesetNumber"/>
</TfsVersion>
<Message Text="TFS ChangeSetNumber: $(ChangesetNumber)" />
Für VS2010 wurde die TfsLibraryLocation in "$ (DevEnvDir) ReferenceAssemblies \ v2.0" geändert. Außerdem existiert $ (SolutionRoot) nicht natürlich, aber $ (SolutionDir). –
Die Task TfsVersion funktioniert nicht mehr mit TFS 2010. Ich habe hier eine Antwort für TFS 2010 veröffentlicht: http: //stackoverflow.com/questions/11748338/tf-exe-on-tfspreview/12923581 –
Nach einem Kommentar auf this page können Sie die Befehlszeile tf changeset /latest /i
verwenden, aber ich kann das von zu Hause aus nicht überprüfen.
'tf changeset/latest/i' bekommt die richtigen Informationen, aber wie man das in eine Eigenschaft einfügt? –
Überprüfen Sie die folgenden Erweiterungsprojekte. Sie werden ungefähr 5 verschiedene Möglichkeiten finden, um Ihr Problem zu lösen.
- MSBuild Extension Pack - aktiv gepflegt, bietet diese Erweiterung über 280 Aufgaben
- MSBuild Community Tasks Project - nicht seit 2007, dieser Satz von ~ 90 Aufgaben beibehalten noch ein paar einzigartigen Aufgaben, nämlich die Flat-File-basierte Task Version
- SDC Tasks Library - seit August 2008 nicht mehr gepflegt, wurde diese Erweiterung in MSBuild Extension Pack aufgenommen. Wenn es etwas gibt, das Sie nicht in MSBuild Extension Pack finden können, überprüfen Sie dieses, mit seinem Portfolio von mehr als 300 Aufgaben Chancen, es kann haben, was Sie brauchen.
Sorry, ich nicht auf der neueste Antwort kommentieren.
Die TfsVersion-Aufgabe in der von Ihnen angegebenen Form gibt Ihnen nur die letzte Änderungssatznummer in $(SolutionRoot)
.
Wenn Sie etwas neuere in $(SolutionRoot)\subdir
haben, wird die bereitgestellte Lösung nicht funktionieren, da es Ihnen die neuesten Informationen von den $(SolutionRoot)
geben wird, nicht von $(SolutionRoot)\subdir
, wie Sie es gewünscht haben.
Ich benutze die tf changeset /latest /i
und es funktioniert gut für mich.
FYI ... das wird die neueste Änderungsmenge in TFS erhalten, unabhängig davon, welche Änderungsmenge Sie gerade in Ihrem lokalen Ordner haben. –
- 1. TFS-Integration Platform-Konflikt bei fehlendem Änderungssatz
- 2. Wie stellen Sie einen Rollback-Änderungssatz in TFS wieder her?
- 3. Automapper Fehler beim letzten TFS
- 4. setInterval mit dem Wert vor dem letzten?
- 5. Modify SQL-Änderungssatz
- 6. Endlosschleife zwischen dem ersten und letzten Elemente
- 7. Wie finde ich heraus, auf welchen Änderungssatz ein Label in TFS angewendet wurde?
- 8. Kann eine Verzweigung aus einem vorherigen Änderungssatz erstellt werden?
- 9. Zurücksetzen eines Änderungssatzes in tfs
- 10. Wie kann ich einen TFS-Änderungssatz programmgesteuert über mehrere Zweige hinweg verfolgen?
- 11. SimpleXML Mit dem letzten Tag-ID
- 12. Wie Blockieren eines Changeset aus dem Zusammenführen in TFS?
- 13. Datenbankänderungsverwaltung und Buildprozess mit TFS
- 14. Probleme mit TypeScript und TFS
- 15. Siehe Unterschiede zwischen dem aktuellen Status und dem letzten Commit
- 16. OData-Referenzierungsanforderungen in einem Änderungssatz
- 17. Verwenden von Änderungssatz für eine andere Lösung
- 18. TFS-Zusammenführungsänderung auf Hauptverzweigung gesetzt
- 19. Abfrage TFS Datenbank letzten 10 Check-in-Details
- 20. Rollback eines Änderungssets in TFS Visual Studio 2013
- 21. ein Array initialisieren mit dem letzten Element Schlüssel mit ‚0‘
- 22. Verwenden von form_for ohne Modell oder Änderungssatz
- 23. CSS3 Keyframe-Animationen: Ende und bleiben auf dem letzten Frame
- 24. Wie TFS-Proxy mit TFS 2008 SDK
- 25. Pass Testfall in TFS mit tfs api
- 26. Set Anwendungspool mit MSDeploy und TFS 2010
- 27. TFS und Schlüsselworterweiterung
- 28. TFS-Verzweigung und Speicherplatz
- 29. Wie verknüpfe ich einen Eclipse-Arbeitsbereich mit dem TFS-Arbeitsbereich?
- 30. Verknüpfen vorhandener nicht verknüpfter Changesets mit dem Arbeitselement in TFS
Dies wurde bereits beantwortet wurde, haben einen Blick auf: http://stackoverflow.com/questions/545566/aligning-assembly-version-numbers-with-tfs-buildnumber – Burt
@Burt Die verknüpfte Frage/Antwort ist über die automatisch generierte TFS-Buildnummer, die sich vollständig von der Änderungssatznummer unterscheidet. – makhdumi