首页 > 其他分享 >获取git版本号写入到DLL文件

获取git版本号写入到DLL文件

时间:2023-12-04 17:36:49浏览次数:27  
标签:LibGit2Sharp git string 版本号 JSON DLL content json File

    string baseDirectory = System.AppDomain.CurrentDomain.BaseDirectory;
    string projectDirectory = baseDirectory.Substring(0, baseDirectory.LastIndexOf("\\aspnet-core"));
    string filePath = projectDirectory + "\\aspnet-core\\common.props";

    if (File.Exists(filePath))
    {
        string content = File.ReadAllText(filePath);
        var repo = new Repository(projectDirectory);
        var hash = ((LibGit2Sharp.SymbolicReference)repo.Refs.Head).Target.TargetIdentifier;
        var dt = ((LibGit2Sharp.Commit)((LibGit2Sharp.DirectReference)((LibGit2Sharp.SymbolicReference)repo.Refs.Head).Target).Target).Author.When.DateTime;
        string dateString = dt.ToString("yyyy-MM-dd");
        Regex versionRegex = new Regex("(?<=(" + "<Version>3.0.0" + "))[.\\s\\S]*?(?=(" + "</Version>" + "))", RegexOptions.Multiline | RegexOptions.Singleline);
        string oldHash = versionRegex.Match(content).Value;
        if ("+" + hash != oldHash)
        {
            content = content.Replace(oldHash, "+" + hash);
        }
        // 读取JSON文件内容
        string json = File.ReadAllText("appsettings.json");
        // 解析JSON字符串为JObject对象
        JObject jObject = JObject.Parse(json);
        // 获取要修改的值
        JToken value = jObject.SelectToken("PublishDate");
        // 修改值
        value.Replace(dateString);
        // 将修改后的JObject对象转换回JSON字符串
        string modifiedJson = jObject.ToString();
        // 保存修改后的JSON字符串到文件
        File.WriteAllText("appsettings.json", modifiedJson);

        File.WriteAllText(filePath, content);
    }

标签:LibGit2Sharp,git,string,版本号,JSON,DLL,content,json,File
From: https://www.cnblogs.com/zbs521/p/17875463.html

相关文章

  • devops - 企业内部搭建git服务器
    step1.登录远程服务器,新建git用户,及用户主目录,ssh配置目录,初始化git仓库#新建git用户组sudogroupaddgit#新建git用户并设置用户组,并创建用户主目录/home/gitsudouseradd-ggit-mgit#给新建的git用户设定密码sudopasswdgit#重新以git用户身份登录ss......
  • Windows 缺失Qt5.xxxx.dll,无法继续执行代码
    事件起因:客户自行安装完Autodesk系软件后,软件一直弹窗报错AutodDesktopApp.exe-系统错误Windows软件报错:由于找不到Qt5.xxxx.dll,无法继续执行代码,重新安装程序可以能会解决此问题 解决办法:在已经使用DirectXRepair修复软件修复过C++插件,仍然报错的前提下,以管理员身份......
  • git移除现有远程仓库文件和提交记录
    背景公司gitlab新建仓库权限被关了自己有项目想要找个服务器仓库托管,刚好服务器上有个自己之前存在的没用的仓库,所以想要清掉它把现在自己本地的git仓库push上去操作step1.清掉现有仓库找个空文件夹,将你想要托管的仓库.gitignore文件加入初始化一个新仓库,并push到服务器上没......
  • 用Gogs私有化部署git服务
    Gogs官网1.下载安装gitee源码地址girhub源码地址go写的gogs客户端源码安装方法参考,二进制下载安装方法参考安装过程可参考首次安装可手动启动,cmd命令行下切换到gogs.exe所在目录,执行“e:/gogs/gogs.exeweb”,windows下不能直接不带目录而执行"gogs.exeweb",貌似会找不到目......
  • 群晖中升级gitlab的严重问题
    重要:此文并未成功解决问题,仅对挣扎过程进行记录。如读者不幸遇到相同问题,在阅读下面问题描述之前,请暂停执行并备份数据,包括postgresql数据文件夹和gitlab文件夹。 1.跨版本升级在套件中心中,若因版本太旧(跳过了1个或多个版本号),则需要手动安装。从群晖应用页面安装特定版......
  • git使用小结
    一、提交代码到master仓库1、克隆新建仓库地址gitclone"xxx"2、查看仓库状态gitstatus3、拷贝上传的代码到目录并上传gitadd.4、加备注,加说明gitcommit-m"firstcommit"5、输入用户名和邮箱gitconfig--globaluser.name"wanggangtao"gitconfig--globalus......
  • 叮咚,你的微信年度聊天报告请查收「GitHub 热点速览」
    本周热点项目WeChatMsg是一个微信记录提取工具,据说它还能帮你分析聊天记录、生成你的年度聊天报告。而又到了年底,部分不幸的小伙伴要开始写年度总结了,这时候self-operating-computer就能让你的电脑变成熟,在你的指示下写完你的年度汇报。除了更智能的电脑,本周AnimateAnyone......
  • install goldendict-ng-git
    manjaro升级后,goldendict不能启动了,重新安装总是出错,原来是官方的版本不支持qt6了,查阅archlinux文档,获知goldendic-ng-git支持qt6,安装步骤如下,需要的同学可以参看。1.获取PKGBUILD文件,gitclone https://aur.archlinux.org/goldendict-ng-git.git2.安装必须的依赖,可能有......
  • 记Redux下载后,运行examples/todos时,报错Error: error:0308010C:digital envelope rout
    1、Redux下载下载地址gitclonehttps://github.com/reactjs/redux.git进入examples/todos,下载依赖:npminstall2、问题复现及解决执行命令npmrunstart此时终端报错:Error:error:0308010C:digitalenveloperoutines::unsupported解决方法:打开package.json,修改......
  • Github Actions - Creating PostgreSQL service containers
     #Servicecontainerstorunwith`container-job`services:#Labelusedtoaccesstheservicecontainerpostgres:#DockerHubimageimage:postgres#Providethepasswordforpostgresenv:......