【问题标题】:Automatic tracking of build number in VS 2005?在 VS 2005 中自动跟踪内部版本号?
【发布时间】:2010-09-25 07:38:05
【问题描述】:

在 Visual Studio 2005 中,是否有一种简单的方法可以在成功构建后自动增加程序集/文件的内部版本号?

强调简单。我想跟踪我的构建版本,而无需设置 CruiseControl 或其他类似工具。

【问题讨论】:

  • 您能否添加一些有关您希望如何增加内部版本号的详细信息?针对不同的需求有不同的解决方案。
  • 只要 BuildNumber++ 就可以了 - 从 0 开始,以溢出结束 ;-)

标签: visual-studio build-process versioning


【解决方案1】:

您可以使用此项目并将其包含在您的 .proj 文件中

这个网址可能有用Updating Porj build number

这不符合我的需要,因此我将其添加为 build.proj,这是一种享受

<?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>

【讨论】:

    【解决方案2】:

    发布选项可能是您想要的...(默认适用于 C#,不确定是否适用于 C++)。

    在工作室中,右键单击项目文件,然后转到“属性”,然后选择“发布”选项卡。那里有一个自动递增修订号的选项。

    【讨论】:

    • 对我不起作用 :-( 我的项目是一个编译成类库的模块,你不能发布它们。但无论如何谢谢!
    • 啊 - 对不起,那帮不上忙。
    【解决方案3】:

    写一个小宏来增加版本怎么样?

    或者这个 VS AddIn 怎么样?

    【讨论】:

    • 什么样的宏,是如何触发的?
    猜你喜欢
    • 1970-01-01
    • 2010-11-29
    • 2010-12-27
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多