希望完全标题有点描述性.
我有一个用C#和.net 2.0编写的winform应用程序.我想将最后一个编译日期自动更新为变量,以便在about框和初始启动框中使用.目前我有一个我手动更新的字符串变量.有没有办法做到这一点?
VS2008 .net 2.0 c#
另一个技巧(您可能无法使用)是利用.NET生成的自动构建和修订号.如果您的AssemblyInfo具有:
[assembly: AssemblyVersion("1.0.*")]
Run Code Online (Sandbox Code Playgroud)
最后两个数字只是一个日期/时间戳.一些代码(下面的列表)可能有所帮助:
Version v = Assembly.GetExecutingAssembly().GetName().Version;
DateTime compileDate = new DateTime((v.Build - 1) * TimeSpan.TicksPerDay + v.Revision * TimeSpan.TicksPerSecond * 2).AddYears(1999);
Run Code Online (Sandbox Code Playgroud)
编辑:这是一个替代答案,可能比我放的更清楚:https: //stackoverflow.com/a/804895/2258
将其放入您的预构建事件中;
echo public static class DateStamp { public readonly static System.DateTime BuildTime = System.DateTime.Parse("%date%"); } > $(ProjectDir)DateStamp.cs
Run Code Online (Sandbox Code Playgroud)
它像这样创建了一个名为 DateStamp 的类;
public static class DateStamp
{
public readonly static System.DateTime BuildTime = System.DateTime.Parse("14/12/2009");
}
Run Code Online (Sandbox Code Playgroud)
你像这样使用它;
Console.WriteLine("Build on " + DateStamp.BuildTime.ToShortDateString());
Run Code Online (Sandbox Code Playgroud)