C#学习笔记-添加编译参数到程序集自动更新程序编译时间

在.csproj中添加预编译事件

bash 复制代码
<Target Name="SetBuildDate" BeforeTargets="BeforeBuild">
    <PropertyGroup>
        <BuildDate>$([System.DateTime]::UtcNow.ToString("yyyy-MM-dd HH:mm:ss"))</BuildDate>
    </PropertyGroup>
    <ItemGroup>
        <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
            <_Parameter1>BuildDate</_Parameter1>
            <_Parameter2>$(BuildDate)</_Parameter2>
        </AssemblyAttribute>
    </ItemGroup>
</Target>

在代码中读取

csharp 复制代码
using System.Reflection;

public static string GetBuildDate()
{
    var assembly = Assembly.GetExecutingAssembly();
    var attr = assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
                       .FirstOrDefault(a => a.Key == "BuildDate");
    return attr?.Value ?? "未知";
}
相关推荐
传奇开心果编程19 小时前
【Xilem 0.4 基础语法学与练】第11课(深入篇):为什么其他 Rust 框架不是一切皆设计图
学习·rust·前端框架
爱吃苹果的日记本19 小时前
JAVA十三(练习课)
java·学习
平凡シンプル20 小时前
TCP UDP 网络通信插件 SL-Uniplugin-Tcp-Udp
网络·学习·uniapp·记录
RisunJan20 小时前
【地球脉动】地球日报 · 2026-09-14(过去24小时,非头条视角)
学习
xx~t20 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
sunoo-22921 小时前
【51单片机实战】温控下位机完整实现:DS18B20采集 + 自定义二进制串口协议 + PWM声光告
笔记·学习·51单片机·串口
小羊没烦恼!21 小时前
Memory 记忆设计讨论:为什么 Agent Memory 不能只靠向量数据库?
java·开发语言·windows·算法·c#
每天题库21 小时前
客运从业资格证备考:题库里的高频数字题,单独整理不丢分
学习·考试·题库·考证
sunshine22 girl21 小时前
Java学习 java原理
java·开发语言·学习
conlin day1 天前
石头记的开头,荣府初逢
经验分享·学习·程序人生