2016-03-18 4 views
2

Wir migrieren auf einen neuen TFS 2015 Server von TFS 2010. Ich habe fast alles funktioniert, aber ich habe keine einfache Möglichkeit gefunden, Informationen in der AssemblyInfo.cs-Datei wie zu setzen im Jahr 2010 getan werden.Einstellung AssemblyCopyright, AssemblyCompany in AssemblyInfo während Build

Wir müssen die Attribute AssemblyCompany, AssemblyCopyright, AssemblyVersion und AssemblyFileVersion erzwingen, so dass wir uns nicht auf einzelne Entwickler verlassen müssen, um sie richtig zu machen. Während eine gemeinsam genutzte AssemblyInfo-Datei funktionieren würde, müsste sie manuell zu jedem Projekt hinzugefügt werden, wodurch die Verantwortung in die Hände des Entwicklers gelegt wird, der die Assembly erstellt. Nicht ideal.

Unsere XAML-Builddefinition 2010 hatte einen Abschnitt "Build Versioning", in dem diese Werte wie unten dargestellt festgelegt werden konnten.

enter image description here

kann ich nicht so etwas in der vNext bauen Definitionen finden. Ich vermute, dass es vielleicht eine Art Add-in gab, die diese Fähigkeit auf dem alten System gab. Leider habe ich dieses System nicht eingerichtet, und die Person, die nicht mehr hier arbeitet, weiß ich nicht genau und weiß nicht, wie er es gemacht hat, wenn es ein Addin war.

Ich habe einige PowerShell-Skripte gefunden, mit denen ich die Versionsnummern einstellen kann, aber bisher bin ich noch keinem begegnet, der AssemblyCompany oder AssemblyCopyright tut.

Bevor ich die Zeit verbringe, etwas von Grund auf zu schreiben, weiß jemand anders, wie man das erreicht?

+1

googeln führte dazu (http://pleaserelease.net/continuous-delivery-with-tfs-automatisch-versioning-assemblies-as-part-of-the-build/) und [dies] (http: // www. codeproject.com/Articles/882584/Continuous-Delivery-with-TFS-Automatica-Version). Wahrscheinlich hast du das gesehen, aber ich erwähne das, falls du es nicht getan hast. –

+0

Ja, diese Links sehen aus, als ob die alte xaml-Build-Definition wahrscheinlich ausgeführt wurde, aber ich glaube nicht, dass sie für die neuen (vNext?) Build-Definitionen unterstützt werden. Ich könnte wahrscheinlich herausfinden, wie man mit den alten XAML-Templates auf dem neuen Server arbeiten kann (die werden noch immer unterstützt), aber ich verschwende meine Zeit nicht mit einer Technologie, die MS auslaufen lassen will. Danke trotzdem. –

Antwort

0

Die Optionen, die Sie in der TFS2010 XAML-Builddefinition hatten, waren darauf zurückzuführen, dass die Buildvorlage angepasst wurde.

In TFS2015 vNext Build-Vorlagen müssen Sie einen eigenen Build-Schritt (höchstwahrscheinlich ein PowerShell-Skript) hinzufügen, der Ihre Logik in Bezug auf die AssemblyInfo-Verarbeitung neu erstellt.

+1

Ja, das hatte ich schon gesammelt. Ich hatte gehofft, dass vielleicht jemand bereits ein Skript hatte, das alle Assembly-Eigenschaften und nicht nur die Version erfüllt, aber es scheint nicht so. In diesem Stadium habe ich meinen eigenen Weg beschritten, obwohl ich kein PowerShell-Typ bin, also mache ich es in C#. –

+0

Haben Sie Ihr Problem gelöst? – Angshuman

1

Ich wette, dass Sie versuchen, die Assembly-Version bei jedem Build zu erhöhen. In vNext bauen zu tun, dass Sie die unten folgen müssen:

  1. Holen Sie sich das ApplyVersionToAssemblies.ps1 Skript aus dem Verwenden Sie ein Skript an Ihre Build-Prozess MSDN Dokumentation und speichern Sie es auf Ihren Arbeitsplatz.
  2. Fügen Sie dies der Quellcodeverwaltung hinzu.
  3. Erstellen Sie einen neuen Build.
  4. einen Build Schritt hinzufügen, um dieses neue Skript

    A. Drücken Sie die Add-Build-Schritt ... Button/Link Schritt B. Wählen Sie die Powershell-Build rufen und sie bewegen, so dass es die erste Aufgabe ausgeführt werden soll, . C. Geben Sie den Source-Control-Pfad zu Ihrem neuen Skript REFER HERE

+0

Sah das, aber dieser Link bietet nur eine Lösung für die Versionsnummer, nicht die Firma oder das Urheberrecht, nach dem ich gefragt habe. –

0

Außer einen Power-Shell-Skript erstellen, können Sie auch „MSBuild Community Tasks“ nuget Paket zu einem Projekt installieren und verwenden, um die Montageinformationen zu aktualisieren während dein Build.

Siehe diesen Artikel für Details: VSO Build vNext – versioning assemblies with MSBuild

Der Artikel zeigt, wie Version und Fileversion zu aktualisieren, müssen Sie nur folgenden Abschnitt im Skript MSBuild hinzufügen CopyRight and Company zu aktualisieren:

AssemblyCompany="xxxx" 
AssemblyCopyright="xxxx" 
Verwandte Themen