dotnet-gitversion "ShortSha" /updateassemblyinfo:找不到 .git 目录

dotnet-gitversion "ShortSha" /updateassemblyinfo : Cannot find the .git directory

中所述,我想将源代码的提交哈希添加到我的可执行文件或 DLL 中。

为此,我想使用以下命令:

dotnet-gitversion "ShortSha" /updateassemblyinfo

我已经创建了一个 FixedAssemblyInfo.cs 以保护其余的 [assembly] 标签,但现在当我尝试 运行 上述命令时,我收到错误消息:

Cannot find the .git directory

我以不同的方式启动了命令:

现在,您可以猜到,将 dotnet-gitversion "ShortSha" /updateassemblyinfo 命令添加为预构建事件是我的想法,但如果我连 运行 都不能将其作为简单命令添加,那怎么可能我将其作为预构建事件启动?

供您参考,完整的预构建事件如下所示:

cd $(ProjectDir)
dotnet-gitversion "ShortSha" /updateassemblyinfo

有人知道吗?

哦,在我忘记之前:我想要实现的只是创建 AssemblyInfo.cs 文件,其中包含(至少)我的源代码的 "ShortSha"。最重要的是,我想把它作为一个预构建事件,以便在每次编译我的项目时都能获得这些信息。

非常感谢

如果我读 the doc 正确:dotnet-gitversion 将其第一个参数解释为项目根目录的路径。 ShortSha 不符合要求。

您可能想使用 /showvariable 选项,这表示还要设置 /output json