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 ?? "未知";
}
相关推荐
Oll Correct5 分钟前
Adobe illustrator 案例九:百宝箱图标绘制
笔记·ui·adobe·illustrator
那年窗外下的雪.18 分钟前
AIDC 学习日志|第 15 天|EVPN 多归属故障收敛与撤销机制
网络·学习·php
惊鸿醉41 分钟前
Unity 实战:用讯飞 WebAPI 做一个“说普通话、播方言“的语音程序
unity·c#·游戏引擎·语音识别
M78佐菲1 小时前
Linux学习笔记:进程
linux·笔记·学习·算法
略略略咯咯2 小时前
C#Unity
开发语言·unity·c#
我命由我123453 小时前
人脸识别 - 勒克斯(光线照射到物体表面上的明亮程度)
android·java·学习·java-ee·人脸识别·学习方法·android runtime
Behavior3 小时前
Unity文字显示带竖线问题
c#·unity3d
乐橙开放平台4 小时前
养老 SaaS 笔记:setMessageCallback 事件桥接 + msgType 映射 P0/P1,先 ACK 再分流值班流
笔记·物联网·音视频·智能家居
Logintern094 小时前
【每天学习一点点】MPI是什么?
学习·mpi·多机训练
fengci.4 小时前
提示词注入学习小结
学习