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>
相关推荐
龙侠九重天2 小时前
C# 调用 TensorFlow:迁移学习与模型推理实战指南
人工智能·深度学习·机器学习·c#·tensorflow·迁移学习·tensorflow.net
我是唐青枫4 小时前
C#.NET YARP 认证授权实战:在网关层统一接入 JWT
开发语言·c#·.net
程序leo源4 小时前
Linux深度理解
linux·运维·服务器·c语言·c++·青少年编程·c#
步步为营DotNet4 小时前
探索.NET 11:ASP.NET Core 10 云原生应用开发实践
云原生·asp.net·.net
加号34 小时前
【C#】 通过 Python.NET 调用 Python pyd 扩展模块:多类交互与参数传递实践指南
python·c#·.net
petunsecn4 小时前
MongoDB C# Driver 在 `ElemMatch + Contains + 类型转换` 下的翻译差异
mongodb·c#
她说彩礼65万5 小时前
C# WIFI连接状态检测方法
java·spring·c#
05候补工程师5 小时前
【408考研】数据结构核心笔记:单链表与栈操作精髓总结
数据结构·笔记·考研·链表·c#
yong999017 小时前
C# 实时查看硬件使用率(CPU 内存 硬盘 网络)
开发语言·网络·c#