2 Stimmen

Ich möchte die Versionsnummer des Projekts jedes Mal aktualisieren, wenn ich f5 zum Erstellen drücke

Was wir derzeit haben:

  • SVN als Quellcode-Repository
  • MSBuild-Skripte zum Erstellen und Setzen von Versionsnummern
    • Diese Versionsnummer ist eine Kombination aus den Eigenschaften in der Build-Datei und der letzten Revision aus SVN
  • Cruise Control zur Ausführung der Build-Skripte

Was ich gerne tun würde:

Wir haben unsere Build-Skripte, die die Versionsnummer jedes Mal aktualisieren, wenn wir den Build durchführen. Ich möchte, dass automatisch zu tun, jedes Mal, wenn wir einen Build durch Drücken von F5 in Visual Studio tun. So aktualisieren Sie die GlobalAssemblyInfo.cs mit der richtigen Versionsnummer, von der Revisionsnummer in SVN

1 Stimmen

Können Sie nicht einfach das msbuild-Skript als ein Post-Build-Ereignis in VS ausführen?

1voto

Robert Punkte 6224

Ein besserer Weg, dies zu tun, ist mit einem SVN-Hook. Die Versionsnummer würde nur bei einem Commit geändert werden, so dass Sie einen Hook schreiben können, der die Datei als Teil des Commits aktualisiert.

Oder sehen Sie sich das an: http://www.codeproject.com/KB/architecture/svn_visual_studio.aspx

1voto

Mr Moose Punkte 5543

Ich habe gerade gelesen darüber gestern in Bezug auf Builds aus TFS 2010. Ich weiß, es ist nicht vollständig auf Ihre Situation oder Architektur anwendbar, aber er wirft einige gute Punkte darüber, wie Sie über Ihre Baugruppe Versionierung zu gehen.

Im Einzelnen verweist der Autor auf diese Stelle . Auch hier ist es spezifisch für MSBuild, aber es gibt einige Punkte, die für die Versionierung von Baugruppen im Allgemeinen gelten

Bearbeiten:

Der erste Link spricht über die Vor- und Nachteile verschiedener Ansätze, einschließlich der Verwendung des Datums als Teil der Versionsnummer (nicht besonders nützlich), tendiert aber dazu, die TFS-Build-Nummer als Teil der Assembly-Version einzubeziehen. Er verweist auf sein bevorzugtes Versionsschema, das es ihm ermöglicht, schnell und einfach zu erkennen, worauf sich der Build bezieht (Hotfix usw.). Dieser Link ist vor allem nützlich, um Ihnen einige alternative Ansichten zur Versionierung von Baugruppen zu vermitteln.

Der zweite Link verweist auf den ersten Link und enthält einige Codebeispiele für die Verwendung von MSBuild zur Unterstützung der Versionierung seiner Assemblies. Dies könnte auch einige nützliche Ideen geben, wie man es angehen kann. Vielleicht kombinieren einige von ihnen mit einem Post-Build-Ereignis, um Ihr Ziel zu erreichen.

0voto

Rihan Meij Punkte 1741

Ich habe eine Möglichkeit gefunden, dies mit dem F5 zu tun, indem ich die Projektdatei ändere und die MSBUILD.Community.Tasks

<Target Name="BeforeBuild">
<MSBuild.Community.Tasks.Subversion.SvnInfo Username="$(SvnUserName)" Password="$(SvnPassword)" RepositoryPath="$(SvnPath)">
  <Output TaskParameter="Revision" PropertyName="SvnRevision" />
</MSBuild.Community.Tasks.Subversion.SvnInfo>

<CreateProperty Value="$(Major).$(Minor).$(Build).$(SvnRevision)">
  <Output TaskParameter="Value" PropertyName="FullVersionNumber" />
</CreateProperty>

<MSBuild.Community.Tasks.AssemblyInfo 
  OutputFile="$(ProjectFolder)\GlobalAssemblyInfo.cs" 
  CodeLanguage="CS" 
  AssemblyVersion="$(FullVersionNumber)" 
  AssemblyFileVersion="$(FullVersionNumber)" />
<Message Text="Test"/>
</Target>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X