.Net core 为exe增加版本号信息

给发布的exe文件增加版本号概念,方便进行版本管理。 

在解决方案路径下增加AssemblyInfo.template.cs文件。内容如下

using System;
using System.Reflection;
using System.Runtime.InteropServices;

// 程序集的版本信息由下列四个值组成: 
//
//      主版本
//      次版本
//      生成号
//      修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("2.4.0.$WCLOGCOUNT-1046$")]
[assembly: AssemblyFileVersion("2.4.0.$WCLOGCOUNT-1046$")]

[assembly: AssemblyBuildBranch("$WCBRANCH$")]
[assembly: AssemblyBuildDate("$WCNOW$")]
[assembly: AssemblyBuildHash("$WCREV=7$")]
[assembly: AssemblyWCMODS("$WCMODS?1:0$")]



[AttributeUsage(AttributeTargets.Assembly)]
public class AssemblyBuildBranch : Attribute
{
    public string text;
    public AssemblyBuildBranch() : this(string.Empty) { }
    public AssemblyBuildBranch(string version) { text = version; }
}


[AttributeUsage(AttributeTargets.Assembly)]
public class AssemblyBuildDate : Attribute
{
    public string text;
    public AssemblyBuildDate() : this(string.Empty) { }
    public AssemblyBuildDate(string version) { text = version; }
}


[AttributeUsage(AttributeTargets.Assembly)]
public class AssemblyBuildHash : Attribute
{
    public string text;
    public AssemblyBuildHash() : this(string.Empty) { }
    public AssemblyBuildHash(string version) { text = version; }
}
[AttributeUsage(AttributeTargets.Assembly)]
public class AssemblyWCMODS : Attribute
{
    public string text;
    public AssemblyWCMODS() : this(string.Empty) { }
    public AssemblyWCMODS(string version) { text = version; }
}

在exe对应项目的生成的生成前事件(预生成事件),增加GitWCRev $(SolutionDir) $(SolutionDir)AssemblyInfo.template.cs  $(SolutionDir)GlobalAssemblyInfo.cs

然后生成解决方案,然后会生成一个

在文件属性中可以看到版本信息

在program.cs获取版本号信息代码:

ver.version = Assembly.G ver.buildDate = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyBuildDate), false).Cast<AssemblyBuildDate>().First().text;//获取版本号
ver.buildBranch = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyBuildBranch), false).Cast<AssemblyBuildBranch>().First().text;
ver.buildHash = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyBuildHash), false).Cast<AssemblyBuildHash>().First().text;
ver.wcmods = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyWCMODS), false).Cast<AssemblyWCMODS>().First().text;etExecutingAssembly().GetName().Version.ToString();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值