2008-12-04 5 views
1

Dans Visual Studio 2005, existe-t-il un moyen simple d'incrémenter automatiquement les numéros de build d'assemblage/fichier après une génération réussie?Suivi automatique du numéro de build dans VS 2005?

Accent sur facile. Je voudrais suivre ma version de construction, sans avoir à configurer CruiseControl ou un outil similaire. Qu'en est-il de l'écriture d'une petite macro, qui incrémente la version?

+0

pouvez-vous ajouter quelques détails sur la façon dont vous souhaitez incrémenter votre numéro de build? Il existe différentes solutions pour différents besoins. –

+0

Just BuildNumber ++ serait bien - commençant par 0 fin se terminant par un débordement ;-) – Treb

Répondre

2

Vous pouvez utiliser ce projet et inclure votre fichier .proj

Cette URL peut être utile Updating Porj build number

Cela ne correspondait pas à mes besoins et je pris d'ajouter ceci comme build.proj qui fonctionne un régal

<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" 
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/> <PropertyGroup> 
    <Major>1</Major> 
    <Minor>0</Minor> 
    <Build>0</Build> 
    <Revision>0</Revision> </PropertyGroup> <PropertyGroup> 
    <BuildDir>C:\svn\Infrastructure</BuildDir> </PropertyGroup> 

    <ItemGroup> 
    <SolutionsToBuild Include="Infrastructure.sln"/> </ItemGroup> 

    <Target Name="Build" DependsOnTargets="ChangeDataAccessAssemblyInfo"> 
    <RemoveDir Directories="$(BuildDir)\Builds" Condition="Exists('$(BuildDir)\Builds')" /> 
    <MSBuild Projects="@(SolutionsToBuild)" Properties="Configuration=Debug" Targets="Rebuild" /> </Target> 

    <ItemGroup> 
    <TestAssemblies Include="Build\Logging\Logging.UnitTests.dll" /> </ItemGroup> 



    <Target Name="ChangeDataAccessAssemblyInfo" > 
    <Message Text="Writing ChangeDataAccessAssemblyInfo file for 1"/> 
    <Message Text="Will update $(BuildDir)\DataAccess\My Project\AssemblyInfo.vb" /> 
    <AssemblyInfo CodeLanguage="VB" 
     OutputFile="$(BuildDir)\DataAccess\My Project\AssemblyInfo_new.vb"   

     AssemblyTitle="Data Access Layer" 
     AssemblyDescription="Message1" 
     AssemblyCompany="http://somewebiste" 
     AssemblyProduct="the project" 
     AssemblyCopyright="Copyright notice" 
     ComVisible="true" 
     CLSCompliant="true" 
     Guid="hjhjhkoi-9898989" 
     AssemblyVersion="$(Major).$(Minor).1.1" 
     AssemblyFileVersion="$(Major).$(Minor).5.7" 
     Condition="$(Revision) != '0' " 
     ContinueOnError="false" /> 

    <Message Text="Updated Assembly File Info" 
      ContinueOnError="false"/> </Target> </Project> 
0

Ou qu'en est-il VS AddIn?

+0

Quel type de macro, et comment est-il déclenché? – Treb

1

Les options de publication pourrait être ce que vous voulez ... (déf. disponible pour C#, pas sûr abuut C++).

En studio, faites un clic droit sur le fichier projet, allez dans Propriétés, puis sélectionnez l'onglet "Publier". Il y a une option pour le numéro de révision auto-incrémenté.

+0

Ne fonctionne pas pour moi :-( Mon projet est un module qui est compilé à une bibliothèque de classe, et vous ne pouvez pas les publier.Merci de toute façon! – Treb

+0

Ah - désolé, cela ne peut pas aider alors. – xan

Questions connexes