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

标签 c# .net settings last-modified

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

  1. 每当构建应用程序时,使用构建脚本更改 DateTime 设置。

  2. 获取应用文件夹下所有文件的最新修改时间

哪种方法看起来更有趣?你有什么建议吗?

最佳答案

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

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

  3. 在您的 AssemblyInfo 中,指定 [assembly: AssemblyVersion("1.23.*")] 的版本,编译器会自动将构建日期和时间添加到版本中(它'看起来有点像:1.23.4567.12345)。然后,您可以使用(从搜索结果中截取,但看起来正确)读取编译的日期/时间:

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

关于c# - 如何根据构建更新设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2021367/

相关文章:

c# - 发生传输级错误(提供程序 : TCP Provider, 错误 : 0 - The semaphore timeout period has expired.)

c# - OData 路径模板不是有效的 OData 路径模板

c# - Kinect 音频 PCM 值

c# - 尝试将返回类型指定为 void

iphone - 如何更新 iOS 应用程序(文件除外)

ios - "iOS Would Like Access to Twitter Accounts"警报在哪里?

c# - 如何在c#中查找URL的内容?

.net - 为什么 IIS 7 不返回 JSON 错误?适用于*我的*机器

c# - 无法将派生类转换为基类

c# - 缓存类型数据的最佳方法是什么?