有时在 IIS6 中部署 .NET 代码时,我无法重命名或删除 .NET 应用程序文件夹,因为它正在使用中。似乎唯一能解决这个问题的方法就是停止 w3svc 服务,执行我需要的操作,然后重新启动它。
当 Web 服务器上还有其他 Web 应用程序时,这种情况并不理想。仅仅停止该特定虚拟网站似乎也不起作用。
有一个更好的方法吗?
答案1
尝试这个:
- 在 Internet 信息服务中,右键单击网站并选择特性
- 前往主目录标签
- 点击卸下(右下角)
答案2
将 AppOffline.aspx 文件放到要进行更改的目录中。这样您就可以重命名或删除该目录或其中的任何文件夹/文件。我总是使用名为 AppOfflineNOT.aspx 的文件进行部署。然后根据需要删除/替换“NOT”。这样,您在更新网站时就不必与 iis 打交道了。
答案3
这里有一个类似的问题:如何让 IIS7 释放锁定的文件?
答案4
这是一个解决上述所有问题的一个非常简单的方法。
- 转到开始 > 运行。
- 进入IIS重置然后确定
这将启动和停止服务,并在您刷新代码之前释放任何滞留的进程。只需在命令完成后立即准备推送代码,以避免任何人跳转到服务器并创建锁定。我通常会编写一个 xcopy 脚本以在之后立即运行。