我正在考虑以下设计:
static class AppVersion
{
public static string BuildDate
{
get; set;
}
public static string Version
{
get; set;
}
public static string GetVersion
{
get; set;
}
}
关于这个问题:
答案 0 :(得分:4)
我认为你的第一个问题是品味问题。您可以使用String.Format
获取所需的任何样式。关于你的上一个问题:
System.Reflection.Assembly.GetExecutingAssembly().Version
返回当前程序集的版本号,并且:
typeof(SomeTypeInSomeAssembly).Assembly.Version
将返回包含特定类型的程序集的版本号。
答案 1 :(得分:1)
对于构建日期,请查看 http://dotnetfreak.co.uk/blog/archive/2004/07/08/determining-the-build-date-of-an-assembly.aspx
对于版本/获取版本,请查看System.Reflection.Assembly名称空间。
至于以漂亮的格式打印日期,您将要使用由DateTime类构建的扩展方法,如.ToShortDateString()或CultureInfo。
答案 2 :(得分:1)
我们通过CruiseControl.NET运行我们所有的生产版本,CruiseControl.NET(以及许多其他东西)具有版本构建的功能。
然后,我们有一段代码片段,它们将CC.NET生成的内部版本号(和其他内容)应用到AssemblyInfo.cs,就在它被提供给编译器进行构建之前。
我想您可以使用类似的技术将构建日期插入应用程序中某个类的常量中。
答案 3 :(得分:0)
对于构建日期或时间戳,您可以在构建时将其嵌入到程序集中 为了做到这一点,see here。