Gou*_*pal 4 .net teamcity continuous-integration visual-studio .net-core-2.1
我的解决方案中有多个 c# 类库(DotNet Core 2.1)项目和用户界面(WPF 项目)。
假设类库项目属性的程序集版本为 2019.1.15341.0:
此外,相同的程序集版本分配给用户界面(WPF 应用程序):
[assembly: AssemblyVersion("2019.1.15341.0")]
[assembly: AssemblyFileVersion("2019.1.15341.0")]
Run Code Online (Sandbox Code Playgroud)
在 TeamCity 中,我配置了 AssemblyInfo Patcher:
我使用 TeamCity 构建了完整的解决方案,并且构建成功:
现在让我们看看构建完整解决方案后产生的工件的属性:
1.项目1(类库,DLL属性):
2.用户界面(WPF项目):
我看到UserInterface.exe's VersionTeamCity 已根据它的build counter和更改了build vcs number,但是为什么DLL's version没有更改?我错过了任何步骤吗?还是别的什么?
我缺少的任何信息请告知。
EXE 的属性似乎符合预期。主要关注的是 DLL:它的属性没有改变。
如前所述,它是一个.Net Core项目,因此它可能没有AssemblyInfo.cs定义程序集属性的位置。
因此,转到 TeamCity 中的构建功能,并添加一个构建功能。
<Version>\S*<\/Version>或使用模板正则表达式:(<(Version)\s*>).*(<\/\s*\2\s*>) 我使用了 Replace With:<Version>%MAJOR%.%MINOR%.%build.counter%.%build.vcs.number%</Version>以便根据我的正则表达式不会删除<version>和</version>标记。这完全取决于您需要替换的正则表达式。
优点: 构建项目后,我可以在属性中看到预期的结果。
缺点: 多次而不是一次搜索和替换文件(构建功能的数量,执行的次数相同,并且恢复的次数相同!)
| 归档时间: |
|
| 查看次数: |
2350 次 |
| 最近记录: |