【问题标题】:Can I change default build number in Visual Studio 2008我可以更改 Visual Studio 2008 中的默认内部版本号吗
【发布时间】:2010-07-02 19:07:34
【问题描述】:

我将程序集中的版本号设置为:

[assembly: AssemblyVersion("1.0.*")]

第一次重建后,我得到了这个版本号:

1.0.3835.35633   
<major version>.<minor version>.<build number>.<revision>

MSDN article about assembly version 属性中有非常简短的描述:

默认内部版本号每天递增。

我有什么方法可以将默认内部版本号重置为例如1 并让 Visual Studio 自动递增。

编辑:
我发现information 内部版本号是自 2000-01-01 以来的天数。我在两台不同的计算机上检查过,确实如此。在上面的内部版本号中,3835 是 2000-01-01 和 2010-07-02 之间的天数。
因此,看起来默认内部版本号无法更改,并且对于所有 VS2008 安装都是相同的。
我不喜欢这种编号模式,所以我会尝试两个加载项 - 一个是 Alek suggested in his answer,另一个是我找到的:Build Version Increment Add-In Visual Studio

【问题讨论】:

    标签: visual-studio visual-studio-2008 versioning


    【解决方案1】:

    我不认为你可以让它在 Visual Studio 中以本机方式工作,但你可以试试 Versioning Controlled Build 插件,看看它是否能满足你的需要。

    【讨论】:

      【解决方案2】:

      如果您使用的是 MSBuild,我鼓励您安装可以安装 nuget 的 msbuildtasks (https://github.com/loresoft/msbuildtasks)。

      完成此操作后,它将在解决方案的根目录中创建一个 build.proj,您可以创建自己的版本文件,它将用于管理版本信息。

      它支持使用 MS 的构建和修订属性,还支持覆盖开始日期

      我制作了一个主要和次要版本文件并将它们放在初始

      <VersionFile Condition=" '$(VersionFile)' == '' ">$(MsBuildProjectDirectory)\VersionMajor.txt</VersionFile>
      <VersionSuffixFile Condition=" '$(VersionSuffixFile)' == '' ">$(MsBuildProjectDirectory)\VersionMinor.txt</VersionSuffixFile>
      

      在这些文件中,我只有数字 2 和数字 1(分别)

      然后我创建了另一个文件,其中包含完整的版本号(结果有效的地方)作为 version.txt。它包含 2.1.0.0

      然后,在我添加的实际构建任务中

      <Version VersionFile=".\Version.txt" BuildType="Automatic" RevisionType="BuildIncrement" StartDate="2015-01-01">
        <Output TaskParameter="Build" PropertyName="Build" />
        <Output TaskParameter="Revision" PropertyName="Revision" />
      </Version>
      

      这给了我一个构建和修订参数以在其他地方使用。

      程序集信息写在哪里,我都这样使用它们:

      AssemblyVersion="$(Version).$(VersionSuffix).$(Build).$(Revision)"
      AssemblyFileVersion="$(Version).$(VersionSuffix).$(Build).$(Revision)"  
      

      然后繁荣!我有很好的版本。我自己管理我的主要和次要(我将切换它们以使用 git 分支,它也是 2.1 并且 buildtasks 可以拉取)并且构建增加自 StartDate 以来的天数(我设置为当我做分支)并且修订版在每次构建时自动递增,并在构建重置为 0 时重置为 0。

      如果您查看 github 上的 buildtasks 源代码,您可以看到更多:https://github.com/loresoft/msbuildtasks/blob/master/Source/MSBuild.Community.Tasks/Version.cs

      【讨论】:

      • 您会发现确实如此,您可以将开始日期覆盖为您想要的任何日期,或者将其设置为自动并在每次构建时递增。如果您查看我的帖子底部的链接,您会发现您可以将各种不同的参数传递给 BuildType 以以不同的方式增加它。或者,您甚至可以在文件中拥有价值并将其插入。可能性是无限的。
      • @Michal Cooper:感谢您的信息
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      相关资源
      最近更新 更多