AssemblyInfo.cs 의
[assembly: AssemblyVersion("1.0.0.0")] 을 [assembly: AssemblyVersion("1.0.*")] 로 변경하면
"1.0.4598.17304" 형식으로 자동으로 버전이 증가하게 되고
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() 를 통해서
버전값을 가져올 수 있다.
Version 값의 증가는 대충봐도
중간 4자리 ( 4598 ) 은 하루에 하나씩 증가하고
마지막 5자리 ( 17304 ) 는 하루를 기준으로 증가하게 된다.
시간에 따라서 증가는 값이기 때문에 역으로 시간으로 바꿀는 방법을 생각해보았다.
string[] ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() .Split('.');
int DefMiddleCap = Convert.ToInt32(ver[2]) - 4400;
int tSecond = (Convert.ToInt32(ver[3]) * 2);
int hou = (int)(tSecond / 3600);
int Min = (int)((tSecond - (hou * 3600)) / 60);
int sec = (int)(tSecond - ((hou * 3600) + (Min * 60)));
sResult = Convert.ToDateTime("2012-01-18").AddDays(DefMiddleCap).ToString("yyyy-MM-dd") + " " +
hou.ToString("00") + ":" + Min.ToString("00") + ":" + sec.ToString("00");
몇번 더하고 나누고 하다보면 나온다.
중간 4자리 일자는 4400 / 2012-01-18 을 기준으로 계산을 하였다.
실행해보면
"2012-08-03 09:36:48" 이렇게 일자와 시간이 나오게 된다.
하지만 좀 더 쉽게하는 방법으로는 그냥 Compile Time 을 가져오면 된다.....ㅡㅡ;;;;
'Dev::DotNet > C#' 카테고리의 다른 글
Windows Version 구분 (0) | 2012.08.10 |
---|---|
System.Environment.CurrentDirectory 의 경로 (0) | 2012.08.04 |
네트워크 폴더 접속 (0) | 2012.08.02 |
실수를 정수로 형변환 할때 (0) | 2012.07.31 |
다중 실행 방지를 위한 Mutex (0) | 2012.07.23 |