我用的是一个简单的命令批处理文件将我的 Asp.net MVC Web 应用程序部署到服务器网络共享。
我遇到的问题是,由于现有 DLL 正在被 IIS 使用,因此无法简单地用新文件替换我的 DLL。我不是服务器管理员,因此没有iisreset
远程运行的权限。
我可以做的是我可以打开 root网页配置文件并保存它,从而强制 IIS 停止我的 Web 应用程序,这样我就可以替换我的程序集。
问题
由于我使用自动批处理文件部署我的应用程序,因此我想包含这个网页配置在我开始部署 DLL 之前,文件重新保存在其中。有人知道如何在 cmd 中完成此操作吗?也许改变文件的上一次更改时间戳就足够了。
可能的解决方案
我想我也可以编写一个控制台应用程序来更改上次修改的时间戳,DateTime.Now
但我不想自己编写代码。网上有没有人知道这样的现有代码,因为我找不到。或者甚至命令提示符工具(无需用户交互的控制台应用程序)?
答案1
从以下位置获取 UnixUtils 的副本http://unxutils.sourceforge.net/,其中有一个名为的命令touch
,您可以根据需要使用它来更新文件上的时间戳。只需将可执行文件复制到批处理文件中,然后添加一个调用touch web.config
,您就会得到所需的内容。