Powershell TeamCity,repo和assembly patcher中文件的版本号 上下文
在我们的repo中,我们有一个名为Powershell TeamCity,repo和assembly patcher中文件的版本号 上下文,powershell,teamcity,version,Powershell,Teamcity,Version,在我们的repo中,我们有一个名为version.txt的文件,其中包含主版本号和次版本号:0.7 我添加了一个TeamCity构建步骤,其中包含一个powershell脚本,该脚本根据以下内容将此参数设置为配置参数: TeamCity上的UserMajorDotMinor参数默认为0.6 我有一个名为%UserVersionNumber%的配置参数,用于设置实际的版本号,该版本号定义为 %UserMajorDotMinor%.0.%system.build.number% 问题 虽然在Tea
version.txt
的文件,其中包含主版本号和次版本号:0.7
我添加了一个TeamCity构建步骤,其中包含一个powershell脚本,该脚本根据以下内容将此参数设置为配置参数:
TeamCity上的UserMajorDotMinor
参数默认为0.6
我有一个名为%UserVersionNumber%
的配置参数,用于设置实际的版本号,该版本号定义为
%UserMajorDotMinor%.0.%system.build.number%
问题
虽然在TeamCity构建日志中打印0.7
,但似乎没有正确设置UserVersionNumber,因为程序集修补程序写入dll的编号仍然是0.6.0.xxxxx
为了使TeamCity能够将正确的版本号写入DLL,我必须进行哪些更改?汇编信息修补程序生成功能将在任何生成步骤之前运行,因此,对步骤中的参数所做的更改不会影响汇编信息修补程序 如果您确实需要使用version.txt文件中的Major.Minor信息,那么我将设置一个单独的构建配置,读取该文件并将内容作为构建参数
%UserMajorDotMinor%
提供。基本上你已经做了什么
然后,您可以将新创建的配置作为依赖项添加到实际生成中,并将%Version%
参数设置为%dep.[buildconfigname].UserMajorDotMinor%.0.%system.build.number%
或者,使用脚本将AssemblyInfo.cs文件作为单独的生成步骤而不是Assembly Info Pather功能进行修补。程序集修补程序将在任何生成步骤之前运行,因此,对步骤中的参数所做的更改不会反映在程序集信息修补程序中。看起来像是的副本。实际上不是副本,即使解决方案相似。
%UserMajorDotMinor%.0.%system.build.number%