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



正如在上一个问题中所解释的,我想将源代码的提交散列添加到可执行文件或DLL中。

为了做到这一点,我想使用以下命令:
dotnet-gitversion "ShortSha" /updateassemblyinfo

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

Cannot find the .git directory

我已经用不同的方式启动了这个命令:

  • 在我的Visual Studio解决方案的主目录中,.git目录存在。
  • 在我的Visual Studio项目的子目录中,.git目录下的一些子目录级别。
  • 一般.git目录是隐藏的。我已经检查了该目录的详细信息中的Hidden复选框,但是没有运气。
  • 我已经从命令提示符启动了dotnet-gitversion,一个命令提示符,以管理员身份运行,并从VS 2017的"开发人员命令提示符"启动。

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

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

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

有谁有主意吗?

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

Thanks much in advance

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

您可能希望使用/showvariable选项,这表示也要设置/output json

最新更新