1
프로그램을 마지막으로 릴리스 (컴파일) 할 때의 정보 (예 : "초기 화면"또는 "사용 화면")를 콘솔 응용 프로그램에 추가하고 싶습니다.Visual Studio에서 프로젝트의 "릴리스 날짜"상수를 설정하는 방법?
프로젝트에 이걸 추가 할 수 있습니까?
감사합니다.
프로그램을 마지막으로 릴리스 (컴파일) 할 때의 정보 (예 : "초기 화면"또는 "사용 화면")를 콘솔 응용 프로그램에 추가하고 싶습니다.Visual Studio에서 프로젝트의 "릴리스 날짜"상수를 설정하는 방법?
프로젝트에 이걸 추가 할 수 있습니까?
감사합니다.
더 나은 방법으로이을 시도하십시오!
DateTime buildDate =
new FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
예를 들어,이 기능을 사용하려면
Console.WriteLine(buildDate.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
해야하는 Tuesday, 30 August 2011 09:44:07
편집과 같은 형식으로 출력 : 여기에 분명히 그 파일 시스템에 의존하지만 found this page
C#으로 변환 되셨습니까?
private DateTime RetrieveLinkerTimestamp()
{
string filePath = System.Reflection.Assembly.GetCallingAssembly().Location;
const int c_PeHeaderOffset = 60;
const int c_LinkerTimestampOffset = 8;
byte[] b = new byte[2048];
System.IO.Stream s = null;
try
{
s = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
s.Read(b, 0, 2048);
}
finally
{
if (s != null)
{
s.Close();
}
}
int i = System.BitConverter.ToInt32(b, c_PeHeaderOffset);
int secondsSince1970 = System.BitConverter.ToInt32(b, i + c_LinkerTimestampOffset);
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0);
dt = dt.AddSeconds(secondsSince1970);
dt = dt.AddHours(TimeZone.CurrentTimeZone.GetUtcOffset(dt).Hours);
return dt;
}
신용은 그래서 당신은하지만, 그것은 컴파일의 날짜를 포함하지 않는 파일 시스템에 의존의이
Console.WriteLine(RetrieveLinkerTimestamp().ToString("dddd, dd MMMM yyyy HH:mm:ss"));
처럼 사용할 수 있어야 제프 앳 우드
로 이동합니다. –
좋아, 내가 더 나은 방법을 찾은 것 같아. –
고마워, 좋아 보인다! –