c# – 如何根据构建更新设置?

我开发了一个使用Last-Modified标头的HTTP资源,它应该反映对应用程序所做的任何修改.我想更新此字段以告知构建日期或上次应用程序更新日期.以下是我想到的一些解决方案:

>构建应用程序时,使用构建脚本更改DateTime设置.
>获取应用程序文件夹中所有文件的最新修改时间

什么方法似乎更有趣?你有什么建议吗?

最佳答案 >很容易做到.您可以写出一个简单的文件(例如xml)并将其添加为嵌入式资源,以便将其编译到您的应用程序中.这使您可以自由地提供您需要的任何形式的信息.

>我会避免这种情况.它有点hacky,并且容易出现问题(例如,如果将日志文件写入文件夹,那么您将开始报告今天的日期而不是构建日期).从Application.StartupPath(即主.exe文件)中读取日期戳更好更容易

>在AssemblyInfo中,指定[assembly:AssemblyVersion(“1.23.*”)]的版本,编译器将自动将构建日期和时间添加到版本中(它看起来有点像:1.23.4567.12345).然后,您可以使用(从搜索匹配中收集,但看起来正确)来读取编译的日期/时间:

AssemblyName an = Assembly.GetEntryAssembly().GetName();
DateTime date = new DateTime(2000, 1, 1, 0, 0, 0);
date += TimeSpan.FromDays(an.Version.Build) + TimeSpan.FromSeconds(an.Version.Revision * 2);
点赞