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>
相关推荐
asdzx679 分钟前
使用 Python 精准操控 Word 字体:获取与替换方案
python·c#·word
逝水无殇2 小时前
C# 特性详解
开发语言·后端·c#
LongtengGensSupreme3 小时前
C#图像内存高速拷贝:使用Marshal.AllocHGlobal与ArrayPool实现内存拷贝的几个方法
开发语言·数码相机·c#
影寂ldy5 小时前
C# 五大加密算法全套实战(AES/DES对称、RSA非对称、MD5/SHA256哈希)
开发语言·c#·哈希算法
互联网底层民工5 小时前
异步 / 多线程并发(高频八股 · 详解版)
c#
逝水无殇5 小时前
C# 反射详解
开发语言·后端·c#
神秘的MT6 小时前
SQL Server 分页查询 ROW_NUMBER () OFFSET...FETCH游标(Cursor) 数据插入
数据库·sql·学习·c#·winform
我才是银古6 小时前
一个人写出的 3D 几何引擎:Ara3D SDK 技术深度剖析
c#·三维几何·ai平台
桑榆肖物8 小时前
在 .NET MAUI 里接入 PP-OCRv6 文本检测实现查找并点击
数据库·redis·.net·maui