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 ?? "未知";
}
相关推荐
香菜TTT1 小时前
LangChain框架_学习笔记
笔记·学习·langchain
春水碧于天,画船听雨眠1 小时前
LangChain学习笔记(二)
笔记·学习·langchain
不正经学生1 小时前
C语言指针进阶:const 和野指针——给指针加锁,向野指针宣战
c语言·开发语言·c++·算法·c#
MartinYeung52 小时前
[论文学习]AdvWeb:针对VLM驱动的Web Agent的可控黑盒攻击
学习
colman wang2 小时前
vibe coding学习手册
学习
210Brian2 小时前
STM32学习笔记(四)OLED显示屏与Keil调试
笔记·stm32·学习
盖世汤猿2 小时前
AUTOSAR BSW 全栈开发学习计划(35岁危机)
学习
czhc11400756632 小时前
# ProcessJob 构造函数 — 语法与概念
c#
达柳斯·绍达华·宁2 小时前
重读CV系列——&&3、Faster-RCNN学习
学习