【发布时间】:2022-04-27 03:59:07
【问题描述】:
在a previous question 中,我询问了如何将提交哈希添加到在 Visual Studio 中构建的可执行文件中。
我快到了:我决定使用GitVersion,这个工具确实修改了我的Visual Studio 项目的AssemblyInfo.cs 文件,导致一些有趣的信息被添加到我的可执行文件的“详细信息”选项卡中。
我非常有信心,通过在我的项目的构建事件(预构建事件命令行)中填写GitVersion 命令,我可能能够自动执行此操作。
现在只需要处理一些小事情,如您在此处看到的:
GitVersion 命令和结果:
Command Prompt> dotnet-gitversion /updateassemblyinfo
{
\"Major\": 0,
\"Minor\": 1,
\"Patch\": 0,
...
\"InformationalVersion\": \"0.1.0-develop-own.1+101.Branch.develop-own.Sha.99560ad4873ab9e04bb8f262aafb5b3ee2fb6c1e\",
\"BranchName\": \"develop-own\",
...
\"Sha\": \"99560ad4873ab9e04bb8f262aafb5b3ee2fb6c1e\",
\"ShortSha\": \"99560ad\",
...
\"CommitDate\": \"2022-04-25\"
}
AssemblyInfo.cs 的旧版本(运行 GitVersion 之前):
// [assembly: AssemblyVersion(\"1.0.*\")]
[assembly: AssemblyVersion(\"1.0.0.0\")]
[assembly: AssemblyFileVersion(\"1.0.0.0\")]
AssemblyInfo.cs 的当前版本(运行 GitVersion 之后):
// [assembly: AssemblyVersion(\"0.1.0.0\")]
[assembly: AssemblyVersion(\"0.1.0.0\")]
[assembly: AssemblyFileVersion(\"0.1.0.0\")]
[assembly: AssemblyInformationalVersion(\"0.1.0-develop-own.1+101.Branch.develop-own.Sha.99560ad4873ab9e04bb8f262aafb5b3ee2fb6c1e\")]
您可以看到编译文件的详细信息选项卡中的“产品版本”是如何用AssemblyInformationalVersion 值填充的,而我希望这是其他信息的组合,例如AssemblyVersion,与@987654337 组合@ 甚至是ShortSha:
让我们面对现实吧:我可以启动GitVersion,但我不知道如何配置它的结果,GitVersion /? 似乎不是很有帮助。
有人知道怎么做这个吗?
在获得更多见解后进行编辑:
与此同时,我已经了解如何获取特定信息:
dotnet-gitversion /showvariable \"ShortSha\"
28c8531
但是会出现以下问题:在查看第一项(主要、次要和补丁)时,文档提到:
{
\"Major\": 3,
\"Minor\": 22,
\"Patch\": 11,
...
GitVersion 从哪里得到这些信息?
(就像一个愚蠢的测试,我创建了一个新分支test/4.0.0.0,但这并没有改变GitVersion 结果中的Major 值)
标签: c# assemblyinfo pre-build-event gitversion