代码片段 / 经验分享 · 2023年3月1日

.Net C#自动生成版本号和使用代码获得程序版本、文件版本、发布版本的方法

1、在解决方案资源管理器中,项目上面点右键 ,卸载项目,显示已卸载后,再次点右键,选“编辑项目文件”

2、在项目文件的合适位置(跟其它已存在的propertyGroup并列即可),增加以下配置属性:

如果 Deterministic 属性已经存在,则将true改成false。

完成本步骤后在项目上点右键,选“重新加载项目”。

3、打开 Properties\AssemblyInfo.cs 文件,先找到行把[assembly: AssemblyFileVersion(“1.0.0.0”)]注释掉。

再找到行[assembly: AssemblyVersion(“1.0.0.0”)]改成[assembly: AssemblyVersion(“1.0.*”)]。这样再生成的程序集就是自动版本号了。
按照这个格式出来的版本号,内部修订版本号(第三个字段)的位置出现的是2000年1月1日到编译日期的天数,内部修订号(第四个字段)是当天从0点到当前时间的刻度数。

4、程序读取自身版本号

文件版本:Application.ProductVersion.ToString()

程序集版本:System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
发布版本:System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString()