【发布时间】:2016-01-12 08:25:06
【问题描述】:
我正在使用 Visual Studio 2013 和 git 开发一个项目。
我必须分发项目的一些库,所以我想用当前的 git commit hash 设置它们的版本号,这样我就可以确定它们使用的是哪个库版本。
有没有办法以自动方式将哈希作为版本号,即使用预构建事件,而不是每次都手动执行?
【问题讨论】:
-
我们有一堆 msbuild 代码,但我不允许分发整个代码。不确定您是否会得到帮助,但原则是:使用定义了 VERSIONINFO 结构的资源文件模板。在预构建事件中,使用
git rev-parse --short HEAD的输出(以及公司名称和诸如此类)填充模板并调用 rc.exe 以创建一个 .res 文件。所有这些代码都存储在一个属性表中,该表还将 .res 文件添加到项目的资源中。因此,您对新项目所要做的就是导入 1 个单个文件,一切正常 -
这似乎是一个很好的解决方案,我会尝试一下。谢谢
-
Alexey 的回答应该可以帮助您入门,对于 C#,如果您愿意,我可以发布带有一些适用于 C++ 的 sn-ps 的答案
-
是的,它会很有用
标签: git visual-studio versioning