更改了 Windows 系统时钟,现在文件的修改日期是错误的

更改了 Windows 系统时钟,现在文件的修改日期是错误的

我当时正在使用 Visual Studio 2013 并测试一些用于在特定日期处理事件的代码。我将 Windows 时钟更改为 2016 年 1 月 1 日,在 Visual Studio 中编译代码(具体来说是一个 Web 项目,因此从技术上讲我已发布)并将文件推送到我的开发环境。

测试后,我将系统时钟改回当前日期并继续编码。再次发布,现在我注意到自上次更改以来我编辑的一些文件仍然显示最后修改日期为 2016 年 1 月 1 日。现在,当我将更改推送到 dev 时,它不知道文件已被修改,并且永远不会反映我在代码中所做的更改。

我如何修复编译以便它使用当前正确的日期时间进行编译?

我尝试删除发布推送到的文件夹,认为它会使用当前正确的系统日期时间,但事实并非如此。

答案1

  1. 干净的你的解决方案
  2. 重建解决方案
  3. 删除已发布区域内的所有文件
  4. 重新发布

在较新版本的 Visual Studio 中,有一个选项可以在发布过程中删除所有文件,至少在文件系统发布时是这样。

干净的将删除源的现有二进制文件。这应该可以解决在系统时间更改时构建的所有文件的问题。

重建将从头开始重新编译所有二进制文件。这些新文件应反映当前系统时间。另外,避免使用常规建造选项,因为它不会更改自上次编译以来代码较新或未更改的文件。

最后,删除已发布的文件并重新发布,将导出新构建的二进制文件,而不会包含任何带有混乱时间戳的旧版本。

下面介绍了构建、重建和清理之间的区别: http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St

编辑:这些步骤适用于大多数 VS 项目类型,但不适用于传统的 ASP.Net webforms 应用程序,因为从编译器的角度来看,aspx 文件既是源文件又是内容文件,因此它们在构建期间不会被替换。

答案2

Visual Studio 是Copying all files to temporary location below for package/publish:。我删除了临时位置,然后重新部署。项目重新部署完成后,在修改日期文件属性中找到了当前日期。

相关内容