gpt4 book ai didi

c# - 如何实现 git id 或构建到 c# 应用程序

转载 作者:太空狗 更新时间:2023-10-29 13:53:44 24 4
gpt4 key购买 nike

我想为使用 git 的应用程序的对话框实现构建 ID。我知道从 git 获取构建 ID 的 unix 命令,但我不知道如何在构建期间获取它。

最佳答案

可能最简单的方法是使用预构建事件。解决方案是调用 git 命令,将输出转储到文本文件,将该文件作为资源包含在 C# 代码中并加载资源。

prebuild.cmd 添加到您的项目目录,内容如下:

cd %1
git log -n 1 --format=format:"%%h" HEAD > %2

转到您的项目属性,选择 Build Events 并输入以下命令作为预构建事件命令行:

"$(ProjectDir)prebuild.cmd" "$(ProjectDir)" "$(ProjectDir)revision.txt"

在您的项目目录中创建一个空的 revision.txt 文件(或运行一次构建)。将它添加到您的项目并为其设置 Embedded Resource 构建操作。将此文件添加到 .gitignore 也是有意义的,因为它是自动生成的。

在您的 C# 项目中添加一个新的实用程序类:

public static class GitRevisionProvider
{
public static string GetHash()
{
using(var stream = Assembly.GetExecutingAssembly()
.GetManifestResourceStream(
"DEFAULT_NAMESPACE" + "." + "revision.txt"))
using(var reader = new StreamReader(stream))
{
return reader.ReadLine();
}
}
}

不要忘记将 DEFAULT_NAMESPACE 替换为您项目的默认命名空间(它被添加到资源名称之前并且没有通用的方法来获取它,您必须对其进行硬编码) .

此解决方案假定 %PATH% 环境变量中存在 git 的路径。

关于c# - 如何实现 git id 或构建到 c# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14768941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com