把编译时间打包进NET程序的版本号中

mid 发布于 2025-12-15 48 次阅读


如题,用于不想每次改动代码后都要手动修改版本号;
使用版本号+编译时间共同管理发布的软件;

先看一下效果:

可以看到,在版本号后面嵌入了编译时间;

实现方式:
项目文件是SDK Style,编辑项目文件csproj,添加SourceRevisionId元素;
Framework 默认的Xml Style项目文件不适用,直接使用通配符*即可,或手动修改为SDK Style
以下为Sdk Style实现方式:

<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<SourceRevisionId>build $([System.DateTime]::Now.ToString("yyyy-MM-dd HH:mm"))</SourceRevisionId>
	</PropertyGroup>
</Project>

<!--或使用UTC时间,时间字符串结尾添加了字母 Z,表示UTC时间-->
<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<SourceRevisionId>build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmssZ"))</SourceRevisionId>
	</PropertyGroup>
</Project>

此作者没有提供个人介绍。
最后更新于 2025-12-15