C# .net 生成版本号自动变更

步骤一

在Properties下新增AssemblyVersion.tt文件文件填入以下信息

cs 复制代码
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>

using System.Reflection;

<#
    var date = DateTime.Now;
    int major = 1;
    int minor = date.Year;      // 年份作为次版本号
    int build = int.Parse(date.ToString("MMdd"));  // 月日作为生成号
    int revision = int.Parse(date.ToString("HHmm")); // 时分作为修订号
#>

[assembly: AssemblyVersion("<#= $"{major}.{minor}.{build}.{revision}" #>")]
[assembly: AssemblyFileVersion("<#= $"{major}.{minor}.{build}.{revision}" #>")]

步骤二

修改.csproj文件

ps:Import Project 中的路径非不变,我使用的vs是2026版所以是v18.0,可以到查看版本:帮助==>关于Visual Studio

复制代码
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
cs 复制代码
	<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v18.0\TextTemplating\Microsoft.TextTemplating.targets" />
	<PropertyGroup>
		<TransformOnBuild>true</TransformOnBuild> 
        <!-- 下面两个必须添加要不然生成的时候会报错 -->
		<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
		<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
	</PropertyGroup>
相关推荐
雪隐7 小时前
WPF + MVVM 实战系列01-一个老狗回炉重造 WPF 的 12 天血泪史
sqlite·c#·mvvm
在世修行8 小时前
从零打造 C# 工业视觉检测系统(四):海康威视 MVS SDK 入门与相机枚举实战
数码相机·c#·视觉检测
神秘的MT9 小时前
C# WinForm Socket 服务器 + 串口转发
服务器·网络·学习·c#
RD_daoyi11 小时前
Google核心算法不再通知!全年持续滚动更新
大数据·服务器·前端·网络·搜索引擎·.net
他们叫我 悦儿遥遥雨13 小时前
.NET 8 Web开发入门(六):Blazor 全栈开发——告别 JavaScript 焦虑
前端·javascript·.net
czhc114007566313 小时前
8.4:今日概念与语法总结
c#
深爱水瓶 血影S狂风13 小时前
Linux.NET学习手记(2)
linux·学习·.net
大数据张老师13 小时前
Typora 导出 Word 模版操作手册
开发语言·c#·word·typora
贾天佑忆月 迷失的昵13 小时前
.NET Web开发技术简单整理
前端·.net
我是苏苏14 小时前
C#基础:使用System.Speech.Synthesis离线播放/朗读文字内容
开发语言·c#