动态版本控制

我有一种情况,我希望版本控制在构建时是动态的。

版本模式: ...

但我已经读过在编译时重新分析属性中使用的String值的位置。

有关如何完成动态版本控制的任何建议吗?

理想情况:

   

我知道它不会工作,但应该得到交叉点。

您可以使用MsbuildCommunityTasks生成内部版本号,并在预构建时自定义程序集文件版本。

  • 在MsbuildCommunityTasks下载zip

  • 解压缩到文件夹[SolutionFolder] \ MsBuildExtensions \ MSBuildCommunityTasks

  • 在Microsoft.CSharp.Targets导入之后,在项目(csproj)上添加以下示例。

   $(MSBuildThisFileDirectory)..\MsBuildExtensions\MSBuildCommunityTasks Properties                 

  • 从AssemblyInfo.cs中擦除AssemblyFileVersion属性。 它将在构建时生成。

  • 您将在构建时看到控制台上打印的版本号。 在AfterBuild目标上删除生成的文件,以保持源代码管理清洁。

    BeforeBuild:

    Building 2013.01.14.1016 …创建了AssemblyInfo文件“Properties \ AssemblyVersionInfo.cs”。

    (……)

    AfterBuild:

    删除文件“Properties \ AssemblyVersionInfo.cs”。

  • 如果您希望对具有较少msbuild代码的许多项目执行此操作,则需要创建自定义构建脚本以包装您的解决方案。

Interesting Posts