正如在上一个问题中所解释的,我想将源代码的提交散列添加到可执行文件或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
。