.net dotnet-gitversion“ShortSha”/更新程序集信息:找不到.git目录

zpgglvta  于 2023-03-04  发布在  .NET
关注(0)|答案(1)|浏览(69)

this previous question中所述,我希望将源代码的提交哈希添加到可执行文件或DLL中。
为了做到这一点,我想使用以下命令:

dotnet-gitversion "ShortSha" /updateassemblyinfo

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

Cannot find the .git directory

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

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

现在,您可以猜到,我的想法是将dotnet-gitversion "ShortSha" /updateassemblyinfo命令添加为预构建事件,但是如果我甚至不能将其作为一个简单的命令运行,我如何才能将其作为预构建事件启动呢?
完整的预生成事件如下所示,以供参考:

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

有谁知道吗?
哦,趁我还没忘记:我想要实现的是创建一个AssemblyInfo.cs文件,包含(至少)我的源代码的"ShortSha"。除此之外,我希望将其作为预构建事件,以便在每次编译我的项目时都有此信息。
先谢谢你了

z9ju0rcb

z9ju0rcb1#

如果我没有看错the docdotnet-gitversion将其第一个参数解释为项目根目录的路径。ShortSha不符合要求。
您可能希望使用/showvariable选项,该选项指示还设置/output json

相关问题