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 ?? "未知";
}
相关推荐
楚山之石1 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
Li_RuiQi2 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
SteveSenna5 小时前
aubo学习:realsense手眼标定
学习·机器人·视觉检测
Li_RuiQi7 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
Canmag 兴隆磁性7 小时前
回复磁导率 μ_R:永磁体在动态磁路中的关键参数
开发语言·学习·r语言·永磁材料·充磁·磁导率
He BianGu7 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
lengxuenong7 小时前
区间覆盖问题 · 简明学习手册1
java·学习·算法
?abc!7 小时前
(贪心)621. 任务调度器
java·前端·c#
AI视觉网奇7 小时前
turtle 入门教程笔记
笔记
跨知易知识产权8 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记