如何将应用程序版本与其 github 版本进行比较?

How to compare application version to its github releases?

所以我用 visual studio winforms 构建了一个 AwesomeApplication.exe, 它有一个 public 版本库。

我想向应用程序添加更新检查器(通知用户新版本可供下载)。

我可以通过 github api 获取最新版本信息: https://developer.github.com/v3/repos/releases/#get-the-latest-release

但是应用程序没有 "know" github 发布标签或版本, 除非我在应用程序设置中手动输入(在构建之前)?然后使用 api,将硬编码版本字符串与 github 发布标签进行比较。那是可能的,但是需要太多的手动工作..想知道还有其他选择吗?

我的发布过程是:


解决方法,修改版@VonC link:

对此的小更新: 实际上,通过上面的检查,字符串总是不同的,因为在编译时,当前最新版本是 1.10,而在编译和添加新版本之后,它已经是 1.11(编译时字符串是旧的 1.10)。 所以临时解决办法是浮动或解析你的版本标签号, 例如比较它是否大 0.1 或 1,然后显示可用更新。

您可以将当前版本嵌入到您的 exe 中:请参阅“Embed git commit hash in a .Net dll”。

这样,您的应用程序可以将其内部版本(基于 git describe --long,其中包括最接近的标签)与最新发布的版本(也基于标签)进行比较