我在内部测试 Web 服务器上更新文件时遇到了很多麻烦。我至少已经更新了我的 Web 应用程序的 DLL 两次……但我没有看到我期望的应用程序行为。当我在 Windows 资源管理器中查看文件的日期戳时,它似乎已在今天/刚刚更新。但当我在命令行中查看时,同一个 DLL 已有 5 天了。有人在骗我!
也遇到过类似的问题知道我更新了一个 .config 文件......但几天后它似乎又被恢复了。
这里是否正在运行某些 Windows 文件保护服务?我该如何禁用它?操作系统是 Windows Server 2008 x64。
答案1
该文件很可能正在被恢复,但我还要求,当您复制新的 dll 时,我会确保 IIS 没有运行,这样就不会缓存任何内容。
从 Windows 资源保护(以前称为 Windows 文件保护)中删除文件现在变得更加困难。
在 XP 下,操作非常简单:1. 从 %windir%\system32\dllcache 中删除要排除的任何文件。2. 然后,您必须编辑 %windir%\system32\restore\filelist.xml
现在只有某些程序可以做到这一点。 http://msdn.microsoft.com/en-us/library/aa382540(v=vs.85).aspx
我找到了一个家伙的链接,他编写了自己的 API 来实现这一点,但此时这已不再是常规做法了。
WRP 不会使 .config 文件恢复。我会确保在 IIS 未运行时进行任何更改,并测试配置是否有效。