如果固定和可变 [assembly] 项目似乎都强制存在于一个文件中,如何处理?

How to handle fixed and variable [assembly] items if both seem to be present mandatory inside one file?

我正在设置构建服务器,也称为持续集成服务器,基于 Jenkins,用于构建 C# 应用程序和 DLL。

我有一个AssemblyInfo.cs文件,里面有两种信息:

固定信息,例如:

[assembly: AssemblyTitle("Application title")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("MyCompany")]
...

...和可变信息,例如:

[assembly: AssemblyInformationalVersion("Sha.99560ad4873ab9e04bb8f262aafb5b3ee2fb6c1e")]

(这是由命令dotnet-gitversion /updateassemblyinfo生成的)

想法是,所有这些 [assembly] 条目汇集在一起​​,以便根据其提交哈希唯一地定义每个构建的二进制文件(Application.exe,右键单击并询问“详细信息”) .

如您所见,前 [assembly] 个条目是固定的,而最后一个是可变的。

所以,我想在 GIT 中包含前三个,在 .GitIgnore 中包含最后一个(或者以另一种方式被 GIT 忽略),但是如何这样做吗?

据我了解

所以,有两种可能:

有人有想法吗? 谢谢

尝试在多个文件之间拆分 [assembly] 属性:

  • 例如,保留FixedAssemblyInfo.cs中的所有固定值,提交
  • dotnet-gitversion /updateassemblyinfo 命令更新正常的 AssemblyInfo.cs,在这种情况下它只包含动态值。不要提交这个文件

主要思想是相同的 [assembly] 属性不会在两个地方重复。