Frage

Ich verwende TortoiseSVN und Visual Studio 2008. Gibt es eine Möglichkeit mein Projekt AssemblyInfo.cs mit SVN-Version in jedem Build zu aktualisieren?

Zum Beispiel 1.0.0 [SVN-Version.] -> 1.0.0.12

War es hilfreich?

Lösung

Sie können die SubWCRev -Tool, das mit TortoiseSVN kommt (auch separat erhältlich).

Entweder es von einer Befehlszeile oder die COM- Objekt bietet.

Die SubWCRev Kommandozeilen-Tool ersetzt Schlüsselwörter in einer Datei mit Informationen aus Ihrer sVN Arbeitskopie. AN Beispiel in der Dokumentation gezeigt wird.

Andere Tipps

Ich tue dies in meiner Skript bauen :

<SvnInfo LocalPath=".">
  <Output TaskParameter="Revision" PropertyName="BuildRev" />
</SvnInfo>
<FileUpdate Files="protobuf-net\Properties\AssemblyInfo.cs"
  Regex='(\[\s*assembly:\s*AssemblyVersion\(\s*"[^\.]+\.[^\.]+)\.([^\.]+)(\.)([^\.]+)("\)\s*\])'
  ReplacementText='$1.$2.$(BuildRev)$5' />

die Community Build mit Aufgaben . Dies gilt im Wesentlichen einen regulären Ausdruck auf die AssemblyInfo.cs, zunächst die aktuelle Version mit der SVN-Revision zu ersetzen.

könnten Sie verwenden das $Rev$ svn Stichwort aber das gibt Sie die letzte Version der Datei, ich glaube, Sie die HEAD Revisionsnummer erhalten möchten.

Geben Sie einen Blick auf diese Frage:

Wie fühlen Sie sich über ein Visual Studio Addin es zu tun?

Ja, können Sie ein Pre-Build-Ereignis hinzufügen, die ein Skript ruft die

  • ruft svn info die aktuelle Versionsnummer zu extrahieren (wenn Sie vor dem Update zu tun, können Sie direkt das Stichwort $Revision$ in einer Datei enthalten, überprüfen Sie auch dieser Beitrag );
  • modifes Ihre Eigenschaften \ AssemblyInfo.cs entsprechend Datei.

Was ich in der Regel tun, ist eine AssemblyInfo.cs Vorlage verwandeln, wenn das Projekt erstellt wird. Das Skript ist notwendig, um die Form von $ Revision $, um die Syntax dieser Datei anpassen, leider.

Die interessanten Eigenschaften sind (wo die Vorlage Saiten sind zwischen '$'):

[assembly: AssemblyVersion("$v$.$build$.$Last Changed Rev$")]
[assembly: AssemblyFileVersion("$v$.$build$.$Last Changed Rev$")]

Edit: svn info ist Teil des Standard-SVN-Client, nicht TortoiseSVN als in einem anderen Beitrag hingewiesen. Einfach obwohl zu installieren. Allerdings TortoiseSVN kommt mit SubWCRev.exe, die eine Datei mit Stichwort Substitution verwandelt, so würde es den Trick tun, wenn Sie Ihre lokale Kopie aktualisieren.

In Visual Studio 2008 können Sie ein Pre-Build-Ereignis definieren, die einen Skript oder kleines Programm starten können. Innerhalb dieses Skript oder Programm, können Sie die svnversion Befehl, um die Repository-Version zu erhalten, dann AssemblyInfo.cs analysieren und die Versionsnummer ändern, was Sie sich wünschen.

Ich bin mir nicht sicher, ob TortoiseSVN mit svnversion kommt, aber es kommt mit dem von Windows SVN Build zur Verfügung gestellt von CollabNet

Ich habe eine SVN-Version Plug-in für den Build-Version Increment Projekt (die in popester Antwort genannt wird). Das SVN-Plug-in wird die neueste Änderung Revisionsnummer von Ihrer Arbeitskopie ziehen und ermöglicht es Ihnen, dass in Ihrer Versionsnummer zu verwenden, was genau soll erreichen, was Sie zu tun versuchen.

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