Development
[C#] 빌드시간 가져오기
devbible
2023. 10. 8. 23:19
프로그램 로직에서 이 프로그램의 빌드한 시간을 알고 싶다.
수동으로 시간을 입력하거나 별도의 스크립트를 넣기 싫다.
간한하게 빌드시 결과물에 빌드시간이 들어가게 해보자.
1. Custom Attribute를 작성한다.
[AttributeUsage(AttributeTargets.Assembly)]
public class BuildTimeAttribute : Attribute
{
public string BuildTime { get; set; }
// 빌드시 생성자 호출
public BuildTimeAttribute(string buildTime)
{
BuildTime = buildTime;
}
// 빌드시간을 가져오는 함수
public static string GetAssemblyBuildTime()
{
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var attr = Attribute.GetCustomAttribute(assembly, typeof(BuildTimeAttribute)) as BuildTimeAttribute;
return attr?.BuildTime ?? string.Empty;
}
}
2. 프로잭트 설정에 위 작성한 Custom Attribute를 호출하도록 설정한다
<ItemGroup>
<AssemblyAttribute Include="MyApp.BuildTime">
<_Parameter1>$([System.DateTime]::Now.ToString("yyyy-MM-dd HH:mm:ss"))</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
3. 코드에서 빌드시간을 가져다 사용한다.
var appBuildTime = BuildTimeAttribute.GetAssemblyBuildTime();
Console.WriteLine(appBuildTime); // 2023-10-08 23:04:00
[작성] devbible.tistory.com